WebSocket クライアントからの着信接続を受け入れる TCP Socket サーバーを実行することは可能ですか? 私は TCP ソケット サーバーを持っており、これをブラウザーでテストできるようにしたいと考えています。これは可能ですか?
質問する
10407 次
2 に答える
9
絶対!それがwebsockifyの目的です。
もちろん、WebSocket クライアント アプリケーションは TCP サーバーのプロトコルを実装できる必要があります。たとえば、noVNCは、RFB プロトコルを実装するブラウザー VNC クライアントであり、websockify を使用することで、通常の TCP ベースの VNC サーバーに接続できます。
免責事項: websockifyとnoVNCの両方を作成しました
于 2013-03-01T16:47:52.590 に答える
6
TCP と WebSocket は同じプロトコルまたはフレーミングではないため、やみくもに接続しても機能しません。まあ...技術的には、websocketはssl(オプションで)に階層化されたhttpのアップグレードであり、さらにtcpに階層化されています。
TCP はバイト ストリームと考えることができますが、WebSocket はセット フレームです。
WebSocket フレームは、次のいずれかになります。
- TEXT - 1 つの UTF8 メッセージを構成する 1 つ以上のフレームで構成されます
- BINARY - バイト配列メッセージを構成する 1 つ以上のフレームで構成されます
- CONTINUATION - TEXT および BINARY で 2 つ以上のフレームをつなぎ合わせるために使用されます。
- PING - 明らか
- PONG - 明らか
- CLOSE - プロトコルのクローズ/切断を要求します。
つまり、Websocketに TCP を接続するには、 Websocket プロトコル フレーミングを実装する必要があります。そして、そのポイントに到達するには、基本的なHTTP UPGRADEを実装する必要があります。
于 2013-03-01T15:14:18.450 に答える