2012-03-17 6 views
1

WebSocketのCサーバを作成しています:D 実際に接続したのは1回ですが、その後は このonOpenが再び起動していません...そして今、私はクライアントのHTMLがクライアント側で「Sec-WebSocket-Accept」をチェックしたい

特に Sec-WebSocket-Acceptフィールドを取るかどうか確認する必要があるので、私に

Error during WebSocket handshake: Sec-WebSocket-Accept mismatch 

を伝え、私はjavascriptのクライアント側でSec-WebSocket-Acceptフィールドをチェックすることができる方法はありますか? これは何を確認する必要がありますか?

答えて

2

初期オープンハンドシェイク中にWebSocketサーバーによって送信されると予想されるSec-WebSocket-Acceptヘッダーには、JavaScript(ブラウザー)ではアクセスできません。

つまり、の後にChromeの開発者コンソールで完全なオープニングハンドシェイクを見ることができます。ハンドシェイクが成功しました。

値は、クライアントから送信されたSec-WebSocket-Key(およびマジック文字列)に基づいてサーバーによって計算される必要があります。詳細はhttp://tools.ietf.org/html/rfc6455

+0

本当にお返事ありがとうございます!それは私にとってとても役に立ち、今私はCサーバーを作るためにやった!それはハンドシェイクだけです^^;今私はデータフレームを勉強しています。 – nathan

+0

Chromeコンソールでのハンドシェイクやメッセージの読み取りを見ると非常に便利です。どうぞそれらを探してどこに教えていただけますか?コンソールタブで何も表示されません。別のタブの下に表示する必要がありますか? – simonc

+0

WSオープニングハンドシェイクのデータは、Chromeの場合のように表示できます。 F12 - >ネットワークタブ - >リロードページ - > websocketサブタブ(下) - >パス(左ペイン)をクリックします。 Chrome内でハンドシェイクの後に交換されたWSメッセージを自動的に "盗聴"することはできません。 これを可能にする可能性のあるWiresharkのためのディセクターがあるかもしれません。 – oberstet

関連する問題