Websocket(一)を学ぶ

1420 ワード

1.背景
WebSocketは、ブラウザとサーバの間で制限されない双方向通信のチャネルを確立するためのHTML 5の新しいプロトコルです.
なぜ従来のHTTPプロトコルはWebSocketが実現できる機能を実現できないのですか?これは、HTTPプロトコルが要求応答プロトコルであり、要求はブラウザからサーバに送信されなければならず、サーバはこの要求に応答し、ブラウザにデータを送信することができないからである.つまり、ブラウザがアクティブに要求しないと、サーバはブラウザにデータをアクティブに送信できません.
WebSocket APIでは、ブラウザとサーバが握手をするだけで、ブラウザとサーバの間に高速チャネルが形成されます.両者の間で直接データを互いに転送することができる.
ブラウザはJavaScriptを介してWebSocket接続の確立をサーバに要求し,接続が確立されるとクライアント側とサーバ側はTCP接続により直接データを交換することができる.
Web Socket接続を取得するとsend()メソッドでサーバにデータを送信し、onmessageイベントでサーバから返されたデータを受信できます.
2.websocket使用
2.1オブジェクトの作成
var Socket = new WebSocket(url, [protocol] );

最初のパラメータurlは、接続のURLを指定します.2番目のパラメータprotocolはオプションで、許容可能なサブプロトコルを指定します.
2.2 WebSocketプロパティ
|属性|説明|:--------------:|:----------------------------||Socket.readyState|読み取り専用プロパティreadyStateは接続ステータスを表し、0-接続が確立されていないことを示します.1-接続が確立され、通信可能であることを示します.2-接続が閉じられていることを示します.3-接続が閉じているか、接続が開かないことを示します.|Socket.bufferedAmount|読み取り専用プロパティbufferedAmountはsend()によってキューに入れられて転送を待機していますが、まだ発行されていないUTF-8テキストバイト数です.|
2.3 WebSocketイベント
≪イベント|Events|ldap≫
イベントハンドラ
説明
open
Socket.onopen
接続確立時にトリガー
message
Socket.onmessage
クライアントがサービス側データを受信するとトリガーされます
error
Socket.onerror
通信エラー発生時にトリガー
close
Socket.onclose
接続クローズ時にトリガー
2.4 WebSocketメソッド
方法
説明
Socket.send()
接続を使用したデータの送信
Socket.close()
接続を閉じる