2012-01-26 3 views
0

私はアプリケーションにjettyに基づく小さなwebsocketサーバーを追加し始めました。桟橋のウェブソケット接続の接続を閉じてメッセージを送信するのはスレッドセーフですか?

しかし、私はsendMessageとdisconnectメソッドが非同期または同期と呼ばれている場合、ドキュメントのどこにも見つからなかったので興味がありますか?

メソッドが非同期の場合は、コールバックメソッドとは何ですか?ここ

は、ドキュメントへのリンクです:http://download.eclipse.org/jetty/stable-8/apidocs/org/eclipse/jetty/websocket/WebSocket.Connection.html#sendMessage%28java.lang.String%29

おかげ

答えて

0

sendMessage()メソッドは非同期です。

WebSocket.OnBinaryMessageおよびWebSocket.OnTextMessageのインターフェイスでは、onMessage()メソッドを使用してコールバックメソッドを見つけることができます。

リクエスト/レスポンスプロトコルを手作業で処理する必要があると思います。

+0

私はすでにWebSocket.OnTextMessageに基づいてクラスを実装していますが、メッセージを受け取ったときだけonMessageメソッドが呼び出され、送信時は呼び出されません。切断方法はどうですか?これも非同期ですか? –

+0

私はあなたが達成しようとしていることを理解していません。あなたがメッセージを送るときのあなたの目標は何ですか? –

+0

私はdoSomething()というコードを持っているとしましょう。メッセージを送る(); doSomethingElse(); doSomethingElse()は、メッセージが送信された後にのみ呼び出されることを確認したい –

0

あなたの投稿のタイトルは、メソッドがスレッドセーフであるかどうかを尋ねましたが、体内では同期しているかどうかを尋ねています。

私はsendMessage()だけを見て、addFrame()呼び出し(バッファに実際の書き込みを行う)はスレッドセーフであるか同期しているようです。

同期しているかどうかまだ分かりません。

関連する問題