WebSocket.onerror - 接続に失敗した時に発火するイベント
onerrorは、WebSocketのイベントです。ソケット通信で接続に失敗した時にerrorイベントが発生し、ここに設定したコールバック関数が呼び出されます。
概要
- 名前
- onerror
- 所属
- WebSocket
- イベント
- error
- IDL
attribute EventHandler onerror; typedef EventHandlerNonNull? EventHandler; callback EventHandlerNonNull = any (Event event);
- 仕様書
- https://html.spec.whatwg.org/multipage/web-sockets.html#handler-websocket-onerror
チュートリアル
onerrorでイベントを設定する例です。
var ws = new WebSocket( "wss://socket.syncer.jp/connect" ) ;
ws.onerror = function ( event ) {
console.log( event ) ;
}
Event.addEventListener()でも、同様にイベントを設定できます。
ws.addEventListener( "error", function ( event ) {
console.log( event ) ;
} ) ;
デモ
WebSocket.onerrorのデモです。「接続」をクリックした時、あえて存在しないサーバーに接続しようとしてエラーを発生させています。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<html>
<head>
<style>
div#result { white-space: pre-wrap ; }
</style>
</head>
<body>
<p>
<button id="hoge">接続</button>
</p>
<hr>
<div id="result"></div>
<script>
var ws = null ;
var element1 = document.getElementById( "hoge" ) ;
element1.onclick = function () {
if ( ws && ws.readyState === 1 ) return false ;
ws = new WebSocket( "wss://example.com/" ) ;
ws.onerror = function ( event ) {
console.log( event ) ;
logUpdate( "通信に失敗しました。" ) ;
}
}
var logUpdate = function ( text, noDate ) {
var resultElement = document.getElementById( "result" ) ;
resultElement.textContent = text + ( noDate ? "" : "(" + new Date().toLocaleString() + ")" ) + "\n" + resultElement.textContent ;
}
</script>
</body>
</html>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● | ● 11+ | ● 5.1+ | ● | ● 10+ | ● 15+ | ● | ● 4.4+ |
関連記事
- WebSocket.readyState
- readyStateは、WebSocketのプロパティです。ソケット通信の状態を表す数値を返します。
- WebSocket.onopen
- onopenは、WebSocketのイベントです。ソケット通信で接続が確立した時にopenイベントが発生し、ここに設定したコールバック関数が呼び出されます。
- 指定文字を置換、削除する
- 文字列の中の指定した部分を置換したり削除します。
- WebSocket.binaryType
- binaryTypeは、WebSocketのプロパティです。send()でこれからサーバーに送信する予定の、バイナリデータの種類を返すプロパティです。値を代入することで、次回以降に送信するバイナリデータの種類を指定できます。