javascript - chrome 打包应用程序中的 Websocket 服务器

标签 javascript google-chrome websocket google-chrome-app

我在 chrome 打包的应用程序中构建了一个 websocket 服务器。
我让一切正常(从客户端到服务器的握手和接收)但是,当我尝试从服务器向客户端发送消息时,它总是出现错误:“失败:服务器不能屏蔽它发送给客户端的任何帧。”

这是我的 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;

最佳答案

你应该使用wireshark来看看你的数据包有什么问题!
看看https://github.com/mik3fly-4steri5k/groschat ,我目前正在研究 websockets,它在谷歌浏览器上完美运行。

关于javascript - chrome 打包应用程序中的 Websocket 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17407213/

相关文章:

javascript - Selenium IE Webdriver 悬停在元素上闪烁

Perl 脚本不在 google chrome 上保存 cookie?

python - 同时读取多个网络套接字并在 Python 中绘制数据

javascript - 如何在 Chrome 中定义 SharedArrayBuffer?

javascript - javascript中复制对象的乐观同步

tomcat - 带有 Tomcat 的 VPS 上的 Websockets

javascript - 在 JavaScript/jQuery 中向 API 发出 POST 请求

javascript - 在单击单个元素时切换增量和减量计数

javascript - Bootstrap 工具提示不会被破坏

html - 如何在 Google Chrome 中初始化全屏 Flash 对象?