1. ホーム
  2. websocket

[解決済み] WebSocketリクエストレスポンスサブプロトコル

2023-07-17 06:28:59

質問

WebSocketは、人間が話すような双方向の通信を提供します。 クライアントはサーバーにデータを送信することができ、サーバーはいつでもクライアントにデータを送信することができます。 しかし、リクエストとレスポンスの動作についてはどうでしょうか。 クライアントはサーバに何かを要求し、その応答を待つことができる。 Websocketはクライアントのデータ(リクエスト)とサーバーのデータ(レスポンス)をリンクさせるものを提供していないようです。

それはおそらくサブプロトコルの仕事であり、私はそれを行う方法についていくつかのアイデアを持っています(リクエストでIDを送信し、タイムアウト期間内に同じIDで応答を待ちます)。

車輪の再発明をせず、時間を節約するために、私は既存のソリューションをインターネット上で探しましたが、関連するものは見つかりませんでした(たぶんキーワードが悪いのでしょう)。

それで、この種の仕事について知っている人がいますか、それとも私が何かを見逃していますか?

どのように解決するのですか?

WebSocketアプリケーションメッセージングプロトコル(WAMP) https://wamp-proto.org/ は、RPC (Remote Procedure Call) と PubSub (Publish &; Subscribe) のメッセージングパターンを生の WebSocket の上に提供し、その目的のために使用します。

WAMPは適切なWebSocketサブプロトコルで、トランスポートとしてWebSocketを使用し、ペイロード形式としてJSONを使用します。RPCは3つのメッセージを使用して実装され、これらのメッセージは、クライアントが開始したプロシージャの呼び出しに非同期RPCサーバーの応答を関連付けるために、quot;Call ID"を含んでいます。

免責事項:私はWAMPといくつかの(オープンソースの)WAMP実装の作者です。これはオープンな取り組みであり、他の人たちはすでにこの船に乗り始めています。最終的には、プロトコルを適切に定義するWAMP RFCができるはずですが、まだ初期段階です。