Jetty Websocket サーブレットを実装しています。サーバーが新しい接続を受信したときに、websocket の onopen 関数によって読み取られるメッセージを送信したいと考えています。このメッセージは、開いているときにのみ送信され、通常の connection.SendMessage() 関数は使用されません。それは可能ですか?そしてどうやって?
質問する
19534 次
2 に答える
61
クエリ文字列を忘れないでください。WebSocket url で有効です。
new Websocket('ws://yoursite.com/path?a=1&b=2&c=3')
次に、サーバー側でこの URL を簡単に解析して、データを取得できます。
于 2015-02-14T13:58:27.077 に答える
19
プロトコルではこれをサポートしていませんが、自分で何かをごまかすことができます。
- サーバーがハンドシェイクを完了したら、クライアントに配信する最初のメッセージを保存します。
- クライアントの
onopen
関数で、「初期メッセージの読み取り」リクエストを送信します。 - サーバーで、このクライアントが最初のメッセージを読んでいないことを確認してください。メッセージで応答します。最初のメッセージが送信されたことを示すフラグを設定します。
- クライアントとサーバーの両方が自由に他のメッセージを送信できるようになりました。
于 2012-08-30T08:17:49.820 に答える