jjzjj

Websockets

全部标签

javascript - JavaScript WebSockets API 的机制

我一直在尝试理解一些用于打开websocket的代码:varws=newWebSocket('ws://my.domain.com');ws.onopen=function(event){...}我的问题是握手是如何开始的?如果它是在WebSocket构造函数中启动的,那么如果到那时还没有设置,如何调用onopen呢?如果WebSocket构造函数创建一个执行握手的线程,那么在握手结束之前是否必须足够快地定义onopen?如果是这样,那听起来有点危险,因为如果JS虚拟机变慢,握手可能会在定义onopen之前完成,这意味着事件没有得到处理。还是设置onopen函数触发握手?有人可以向我解

javascript - 当我在 Unicorn 服务器上运行时,Websockets 在我的 Rails 应用程序中不起作用,但在瘦服务器上运行

我正在学习RubyonRails以在Heroku上使用WebSockets构建实时网络应用程序,但我无法弄清楚为什么在Unicorn服务器上运行时websocket连接失败。我将我的Rails应用程序配置为在本地和Heroku上使用Procfile在Unicorn上运行...web:bundleexecunicorn-p$PORT-c./config/unicorn.rb...我在本地使用$foremanstart开始。javascript客户端创建websocket连接失败...vardispatcher=newWebSocketRails('0.0.0.0:3000/websock

javascript - 带有 proxytable 和 websockets 的 Node http 代理

我正在尝试让websockets也与node-http-proxy一起工作。不同之处在于我使用的是代理表:varoptions={router:{'a.websterten.com':'127.0.0.1:150','b.websterten.com':'127.0.0.1:151',}};varserver=httpProxy.createServer(options);我试过:server.on('upgrade',function(req,socket,head){server.proxy.proxyWebSocketRequest(req,socket,head);});但是好

javascript - WebSockets : useful for reducing overhead?

我正在构建一个动态搜索(每次击键都会更新):我目前的方案是在每次击键时向服务器发送一个新的AJAX请求并以JSON格式取回数据。我考虑过为每个搜索“session”打开一个WebSocket以节省一些开销。我知道这会节省时间,但问题是,考虑到这些参数,这样做真的值得吗:80ms平均ping时间166毫秒:每次击键之间的时间,假设用户键入相对较快最坏情况下的传输速率为1MB/s,每次击键时必须接收的每个数据包不超过1KB。该应用还需要大约30-40毫秒才能将搜索结果焊接到DOM。我找到了这个:HTTPvsWebsocketswithrespecttooverhead,但这是一个不同的用例

javascript - 具有不同回调处理程序的单例 Websockets 对象

我有一个JavaScriptWebsockets实现,我想在其中使用单例模型,该模型使用一个Websocket连接对服务器进行多次调用,但具有不同的回调事件处理程序。我的实现工作得很好,但我注意到一些奇怪的行为,消息被定向到错误的回调处理程序。这是一些代码:Connection.js文件varconnection=function(){var_socket=null;return{socket:function(){if(_socket==null){_socket=newWebSocket("ws://localhost:8081/index.ashx");_socket.onclo

javascript - 如何使用 Websockets 发送旧消息

我有一个有效的Websockets示例,其中客户端从服务器接收消息。我不确定如何在客户端连接时将旧消息发送给他们。例子:每个客户端在连接时提供他们的名字服务器响应“[name]justconnected”(对所有客户端)任何新客户都不会收到这些消息我想知道客户端是否可以通过任何方式接收旧消息(所有消息,或者最后5分钟内的消息都可以接受)。我怀疑我可能必须自己捕获这些信息,将其存储在某个地方(例如数据库),然后自己将消息发送给新客户。是这样吗,还是我遗漏了什么?如果有人有伪代码,或指向其他人如何实现它的示例的链接,那将很方便。 最佳答案

javascript - 是否可以使用 Spring-WebSockets 通过 WebSockets 通过 STOMP 发送二进制数据?

我能够在springdocumentation之后通过WebSockets使用STOMP发送和接收JSON.然而,在高速率下性能很差,所以我想分析一下二进制消息的使用。Spring-WebSockets4.0在Chrome35中运行的JavaScript客户端stomp.js1.7.1发送我使用带有必要代理中继的SimpMessageTemplate发送消息-请参阅springdocumentation@ControllerpublicclassDemoBinaryController{@AutowiredprivateSimpMessagingtemplatetemplate@Sch

javascript - 如何通过 websockets 高效处理大量 HTML5 canvas 像素数据

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Receivingimagethroughwebsocket使用imageData=context.getImageData(0,0,width,height);JSON.stringify(imageData.data);我抓取像素数据,将其转换为字符串,然后通过websockets通过网络发送。但是,这个字符串可能会很大,具体取决于Canvas对象的大小。我尝试使用此处的压缩技术:JavaScriptimplementationofGzip但是socket.io抛出错误Websocketmessageco

go - 在 go 程序后台运行的 Websockets 导致 100% CPU 使用率

我在我的go程序中实现了网络套接字,以便在其他进程发生时定期在后台更新三个变量。自从这样做以来,程序几乎立即开始占用100%的CPU使用率,我不确定为什么。这里是有问题的代码:streamOneHandler:=func(event*websockets.Event){varOne,err=strconv.ParseFloat(event.Number,64)}streamTwoHandler:=func(event*websockets.Event){varTwo,err=strconv.ParseFloat(event.Number,64)}streamThreeHandler:=

go - 使用 gob 在 Go 中编码 websockets

我正在使用Go中的websockets编写一个聊天应用程序。将有多个聊天室,想法是将连接到聊天室的所有websocket存储在Redis列表中。为了在Redis中存储和检索websockets,我必须对它们进行编码/解码,并且(根据this问题)我认为我可以为此使用gob。我正在使用github.com/garyburd/redigo/redis作为Redis和github.com/gorilla/websocket作为我的websocket库。我的函数看起来像:funcaddWebsocket(roomstring,ws*websocket.Conn){conn:=pool.Get(