WebSocket サブプロトコル一覧 #7
shuji-bonji
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
🌐 WebSocket サブプロトコル一覧
WebSocket のサブプロトコルは、WebSocket 上で動作する「アプリケーションレベルのプロトコル」です。ここでは代表的なプロトコルの概要と、ユースケース別の構成例を示します。
補足
graphql-ws
などのサブプロトコルに委ねられます。🧱 TCP/IPモデルとのレイヤー整理表
WebSocket は TCP/IP モデルにおける「アプリケーション層」に位置づけられます。その上で動作する
graphql-ws
やmqtt
などのサブプロトコルもアプリケーション層の一部ですが、「構文・通信モデル」の観点から、さらに上位・下位で整理されることがあります。📋 サブプロトコル一覧
graphql-ws
graphql-transport-ws
graphql-ws
の後継プロトコル。構造化された安全な通信方式。mqtt
wamp
json-rpc
soap
stomp
cbor
/msgpack
custom-protocol
myapp-chat
)を定義可能。🔮 将来が期待されるサブプロトコル候補
mqtt-v5
coap-ws
graphql-transport-ws
grpc-websocket
wamp
amqp-ws
xmpp-ws
iso11073-ws
🧭 ユースケース別アーキテクチャ構成例
1. GraphQL Subscriptions(
graphql-ws
)ユースケース
リアルタイムでデータ更新を受信(チャット、通知、株価表示など)
構成図(Mermaid)
備考
Sec-WebSocket-Protocol: graphql-ws
を指定graphql-ws
ミドルウェアを追加2. IoT通信(
mqtt
)ユースケース
センサーの値をリアルタイムに受信/制御(スマートホーム、温度監視)
構成図(Mermaid)
備考
listener
を追加3. RPC風の操作(
json-rpc
)ユースケース
クライアントがバックエンドAPIを双方向に呼び出す(リモート設定操作など)
構成図(Mermaid)
備考
method
,params
,id
を送信4. 独自プロトコル(例:
myapp-chat
)ユースケース
チャットやコラボレーションアプリなど、アプリ独自の構造で通信したい場合
構成図(Mermaid)
備考
Sec-WebSocket-Protocol
を検証ws
など)5. メッセージングブローカー連携(
stomp
)ユースケース
チャットアプリ、通知システム、バックエンド間連携など、メッセージキューを利用する構成。
構成図(Mermaid)
備考
Sec-WebSocket-Protocol: stomp
を指定@stomp/stompjs
ライブラリを利用🔮 将来が期待されるサブプロトコル候補
mqtt-v5
coap-ws
graphql-transport-ws
grpc-websocket
wamp
amqp-ws
xmpp-ws
iso11073-ws
graphql-over-webtransport
mqtt-over-webtransport
wamp-over-webtransport
grpc-over-webtransport
json-rpc-over-webtransport
Beta Was this translation helpful? Give feedback.
All reactions