APIドキュメント
参照用にクライアントとAPIドキュメントを確認してください
警告: と互換性のあるクライアントバージョンを使用してください Socket.IO サーバー v4。以前のバージョンは サポートされない場合があり、動作しない可能性があります 正しく
JavaScript(WeChat ミニプログラム用)
サーバー実装側でクライアント側の全てのAPIが利用できるとは限らず、その逆も同様です。
互換性マトリクス
接続
✅ はい
io(url, opts)
IO.socket(url)
sio.connect(url)
socket.connect()
socket.connect()
socket.connect()
socket.Connect()
client->Connect()
socket.Connect()
標準の接続メソッド
切断
✅ はい
socket.disconnect()
socket.disconnect()
sio.disconnect()
socket.disconnect()
socket.disconnect()
socket.disconnect()
socket.Disconnect()
client->Disconnect()
socket.Disconnect()
クライアントがサーバーから切断する
イベントリッスン
✅ はい
socket.on(event, cb)
socket.on(EVENT, listener)
@sio.on(event)
socket.on(event, cb)
socket.on(event, cb)
socket.on(event, cb)
socket.On(event, cb)
client->On(event, cb)
socket.On(event, cb)
標準のイベントハンドラ
一度きりのリスナー
✅ はい
socket.once(event, cb)
socket.once(EVENT, listener)
@sio.once(event)
socket.once(event, cb)
socket.once(event, cb)
socket.once(event, cb)
socket.Once(event, cb)
client->Once(event, cb)
socket.Once(event, cb)
一部のクライアントは組み込みの once を持たない
リスナーの削除
✅ はい
socket.off() / socket.removeListener()
socket.off(EVENT)
sio.off(event)
socket.off(event)
socket.off(event)
socket.off(event)
socket.Off(event)
client->Off(event)
socket.Off(event)
ほとんどのクライアントはリスナー削除サイクルをサポートする
イベント送出
✅ はい
socket.emit(event, …args)
socket.emit(event, …args)
sio.emit(event, data)
socket.emit(event, data)
socket.emit(event, data)
socket.emit(event, data)
socket.Emit(event, data)
client->Emit(event, data)
socket.Emit(event, data)
標準の emit
確認付きの emit
✅ はい
socket.emit(event, …, callback) / emitWithAck()
socket.emit(event, …args, AckCallback)
sio.call(event, data) / await sio.emit(event, data, callback)
socket.emit(event, data, cb)
socket.emit(event, data, cb)
socket.emit(event, data, cb)
socket.Emit(event, data, cb)
client->Emit(event, data, cb)
socket.Emit(event, data, cb)
Ack のサポートはクライアントによって異なる
ネームスペース API
✅ はい
io(url/ns) / socket.nsp
socket.of("/ns")
sio.connect(url, namespaces=["/ns"])
socket.of("/ns")
socket.of("/ns")
socket.of("/ns")
socket.Of("/ns")
client->Of("/ns")
socket.Of("/ns")
ほとんどのマルチネームスペースクライアントがサポートする
クエリ / 認証
⚠️ 制限あり
io(url, { auth, query })
IO.Options.query/setAuth(Map<String,Object>)
sio.connect(url, auth={…})
socket.setAuth(data)
socket.setAuth(data)
socket.setAuth(data)
socket.SetAuth(data)
client->SetAuth(data)
socket.SetAuth(data)
ハンドシェイクパラメータは透過される
再接続制御
⚠️ 部分的
クライアントオプションで管理
socket.io().reconnection(true/false)
sio.reconnect() または次で処理される sio.connect()
クライアントライブラリ依存
クライアントライブラリ依存
クライアントライブラリ依存
クライアントライブラリ依存
クライアントライブラリ依存
クライアントライブラリ依存
クライアントの自動再接続ロジック
ボラタイル emit
⚠️ 制限あり
socket.volatile.emit()
JS専用 / Java クライアントでは標準ではない
⚠️ 稀 / 標準ではない
様々
様々
様々
様々
様々
様々
一貫して実装されていない
圧縮フラグ
⚠️ 内部的
socket.compress()
標準ではない
標準ではない
標準ではない
様々
様々
様々
様々
様々
通常は内部的
クライアントミドルウェア(use())
❌ いいえ
JS のみ
❌
❌
❌
❌
❌
❌
❌
❌
ミドルウェア API は主に JS のみ
エンジン/マネージャーの内部
❌ いいえ
socket.io / マネージャー
内部
内部
内部
内部
内部
内部
内部
内部
クライアントの内部はサーバー側に反映されていない
最終更新
役に立ちましたか?