サーバーが画像をキャプチャし、いくつかの画像処理操作を実行するビューアーアプリケーションを開発しています。これはクライアント側の HTML5 キャンバスに表示する必要があります。私が作成したサーバーは VC++ であり、http://www.codeproject.com/Articles/371188/A-Cplusplus-Websocket-server-for-realtime-interactを使用しています。
これまでのところ、必要な機能を実装しました。あとは最適化だけです。リファレンスは文字列を送信するためのチャット アプリケーションだったので、データを 7 ビット形式にエンコードしていました。これがオーバーヘッドを引き起こしています。バイナリデータ転送機能が必要です。そこで、エンコーディングとフレーミングを変更しました (現在、オペコードは 129 ではなくバイナリ メッセージ用の 130 です)。サーバー部分は問題ないと言えます。送信フレームを確認しました。プロトコルに従っています。クライアント側で問題に直面しています。
クライアントが着信メッセージを受信するたびに、すべてのバイトが制限内 (0 ~ 127) であれば、クライアントは onMessage() を呼び出し、着信メッセージを正常にデコードできます。ただし、127 を超える文字が 1 つ導入されるだけでも、クライアントは onClose() を呼び出します。接続が閉じられ、原因を見つけることができません。私を助けてください。
PS: Chrome 22.0 と Firefox 17.0 を使用しています。