草庐IT

Sec-WebSocket-Accept

全部标签

javascript - WebSocket频繁onmessage零拷贝

我有一个应用程序经常通过WebSocket接收二进制消息(每帧至少一次)并使用canvas/webgl绘制数据。我注意到我有一个非常好的锯齿状内存配置文件;许多短暂的数据block。这并不让我感到惊讶,因为我从onmessage接收到一个对象,至少每16毫秒一次,用于绘图然后取消引用。我的问题是:是否有任何避免/最小化这种情况的提示?基于WebSocketAPI,除了在每个套接字接收调用上分配新内存之外,似乎没有其他选择。在另一种语言/环境中,我会预先分配一些内存并接收到该缓冲区,以避免不断地为短期对象分配内存,但我想不出任何明显的方法来在浏览器中的JavaScript中实现这一点。作

javascript - 如何捕获 WebSocket 连接中断?

在Firefox中(至少),如果您按下ESC,那么它将关闭所有打开的WebSockets连接。我需要捕获该断开连接,并在它再次可用时尝试重新连接。这是我尝试实现的代码示例,但我无法找出任何可以捕获错误并让我优雅地处理它的方法。看看代码:http://jsfiddle.net/w5aAK/varurl="ws://echo.websocket.org";try{socket=window['MozWebSocket']?newMozWebSocket(url):newWebSocket(url);socket.onopen=function(){console.log('Socketis

javascript - WebSocket 可以即时切换其 binaryType 吗?

在JavaScript中,当您实例化一个WebSocket时:ws=newWebSocket(url);你可以设置它的二进制类型:ws.binaryType="blob";//orws.binaryType="arraybuffer";问题:我可以即时更改binaryType吗?例如,如果我想使用同一个WS实例来交错文本和二进制消息,我可以执行以下操作吗?ws=newWebSocket(url);//Sendtextws.binaryType="blob";ws.send("thisistext");//Nowsendbinarydataws.binaryType="arraybuff

javascript - 连接到 websocket 使 webworker 在 Microsoft edge 中没有响应

所以这很奇怪,当我尝试连接到websocket(这只是一个Microsoftedge问题)时,它会每隔两页刷新一次webworker将不接受消息onMessage根本不会触发:考虑以下几点:ma​​in.jsvarworker=newWorker("webworker.js");worker.postMessage({type:'INIT_SOCKET'});worker.addEventListener('message',(event)=>{letdata=event.data;if(typeofdata==='string'){data=JSON.parse(data);}if(

javascript - WebSocket 连接超时

我正在尝试实现故障安全websocket包装器。我遇到的问题是处理超时错误。逻辑应该是:如果套接字在$timeoutInMiliseconds期间没有打开-它必须关闭并重新打开$N次。我正在写这样的东西。varmaxReconects=0;varws=newWebSocket(url);varonCloseHandler=function(){if(maxReconects但问题是正确处理超时websockets-如果我试图关闭未连接的套接字,我会在chrome中收到警告:“与“ws://127.0.0.1:9010/timeout”的WebSocket连接失败:WebSocket在建

javascript - 如何与本地主机上的 websocket 建立安全连接?

我们有一个在POS终端上运行的应用程序,它应该从在同一台机器上运行的应用程序接收数据,同时显示来自通过HTTPS加载的远程站点的内容。要从本地应用程序接收数据,我们要使用websockets,到目前为止工作正常。但是,当我们显示的网站是通过HTTPS加载时,websocket连接也需要加密。因为我们无法真正获得localhost的正确证书,所以我们只使用自签名证书。但是Chrome不会连接到使用自签名证书的websocket。我们如何解决这个问题?我们不能使用未加密的websocket,不能为加密的使用自签名证书,也不能为localhost获取签名证书。我缺少什么选项?

javascript - 在 WebSocket 中接收 Blob 并在 Canvas 中渲染为图像

我正在构建一个简单的WebSocket应用程序,它将当前Canvas的二进制快照传输给其他监听器。当前Canvas快照使用WebSocket发送为:varimage=context.getImageData(0,0,canvas.width,canvas.height);varbuffer=newArrayBuffer(image.data.length);varbytes=newUint8Array(buffer);for(vari=0;i尝试将接收端的数据呈现为:varbytes=newUint8Array(blob.size);varimage=context.createIma

javascript - 通过websocket接收图片

我正在使用websockify将图像从python服务器显示到HTML5Canvas。我认为我已经成功地从我的python服务器发送图像,但我无法将图像显示到我的Canvas上。我认为问题与我试图在Canvas上显示的字节数有关,我相信我不会等到收到整个图像然后再将图像显示到Canvas上。到目前为止,我有:消息功能。当我发送图像时,我在控制台中得到12MESSAGERECEIVEDws.on('message',function(){//console.log("MESSAGERECEIVED!")msg(ws.rQshiftStr());});我接收字符串并尝试在Canvas上显示

javascript - Webworker 中的 HTML5 Websocket

我已经设法让websockets在使用Chrome的webworker中工作,但仅用于接收数据。当我尝试发送数据时出现DOM异常,有人成功发送数据了吗?这就是我为网络worker准备的东西。self.addEventListener('message',function(e){vardata=e.data;switch(data.cmd){case'init':self.postMessage("InitialisingWebWorkers...");testWS();break;default:self.postMessage('Unknowncommand:'+data.msg);

c# - 带有 Javascript 客户端的 WCF 自托管 WebSocket 服务

我有这个WCF自承载WebSocket服务代码:主要://CreateaURItoserveasthebaseaddressUrihttpUrl=newUri("http://192.168.1.95:8080/service");//CreateServiceHostServiceHosthost=newServiceHost(typeof(WebSocketService),httpUrl);//Addaserviceendpointhost.AddServiceEndpoint(typeof(IWebSocket),newNetHttpBinding(),"");//Enable