簡體   English   中英

Chrome打包應用程序中的Websocket服務器

[英]Websocket server in chrome packaged 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,它完全適用於谷歌瀏覽器。

確保在IIS測試環境中啟用了WebSocket協議。

控制面板 - > Windows功能 - > IIS - > WS模塊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM