[英]Websocket server in chrome packaged app
Im building a websocket server in chrome packaged apps. 我在chrome打包的应用程序中构建websocket服务器。 I got everything working (handshake and recieving from client to server) but, when I try to send message from Server to Client it always get an error: "failed: A server must not mask any frames that it sends to the client."
我得到了一切工作(从客户端到服务器的握手和接收)但是,当我尝试从服务器向客户端发送消息时,它总是会收到错误:“失败:服务器不得屏蔽它发送给客户端的任何帧。”
This is my prepareMessage code: 这是我的prepareMessage代码:
var sendText = _toUTF8Array(JSON.stringify(msg) + '\n');
var aa;
var buffer;
if (sendText.length > 125) {
if (sendText.length < 65536) {
aa = new ArrayBuffer(4 + sendText.length);
buffer = new Uint8Array(aa);
buffer[0] = 129;
buffer[1] = 126;
buffer[2] = sendText.length >> 8;
buffer[3] = sendText.length & 255;
_arrayCopy(sendText, 0, buffer, 4, sendText.length);
}
else {
aa = new ArrayBuffer(10 + sendText.length);
buffer = new Uint8Array(aa);
buffer[0] = 129;
buffer[1] = 127;
var len = new Uint8Array(8);
len = _Uint64ToUint8(sendText.length);
var tt = new Uint8Array(8);
for (var i = 0; i < 8; i++)
{
tt[7 - i] = len[i];
}
_arrayCopy(tt, 0, buffer, 2, 8);
_arrayCopy(sendText, 0, buffer, 10, sendText.length);
}
}
else {
aa = new ArrayBuffer(2 + sendText.length);
buffer = new Uint8Array(aa);
buffer[0] = 129;
buffer[1] = sendText.length;
_arrayCopy(sendText, 0, buffer, 2, sendText.length);
}
return aa;
you should use wireshark to see what is wrong with your packets! 你应该使用wireshark来查看你的数据包有什么问题! take a look on https://github.com/mik3fly-4steri5k/groschat , im currently working on websockets, and it perfectly working on google chrome.
看看https://github.com/mik3fly-4steri5k/groschat ,我目前正在研究websockets,它完全适用于谷歌浏览器。
Make sure you've enabled the WebSocket protocol in your IIS testing environment. 确保在IIS测试环境中启用了WebSocket协议。
Control Panel --> Windows Features --> IIS --> WS Module 控制面板 - > Windows功能 - > IIS - > WS模块
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.