JavaScript の WebSocket API を使うときの流れは以下のようになります。
WebSocket
コンストラクタでサーバに接続onopen
: 接続時のイベントonclose
: 切断時のイベントonmessage
: メッセージ受信時のイベントonerror
: エラー発生時のイベントsend()
: データの送信close()
: 切断次のサンプルでは、ws://echo.websocket.org/
に接続しています。
この WebSocket サーバは開発者向けに公開されており、WebSocket#send()
で送ったメッセージをそのまま返してくるように実装されています。
<script>
var socket = new WebSocket('ws://echo.websocket.org/');
// 接続時のイベント
socket.onopen = function (evt) {
console.log('Connected');
socket.send('Hello 1');
socket.send('Hello 2');
socket.send('Hello 3');
socket.send('Hello 4');
};
// 切断時のイベント
socket.onclose = function (evt) {
console.log('Disconnected');
};
// メッセージ受信時のイベント
socket.onmessage = function (evt) {
console.log(evt.data);
if (evt.data === 'Hello 3') {
socket.close();
}
};
// エラー発生時のイベント
socket.onerror = function (evt) {
console.log('Error: ' + evt.data);
};
</script>