Jettyはwebsocket経由でメッセージを送信するにはorg.eclipse.jetty.websocket.common.BlockingWriteCallbackを使用します。クライアントが「遅い」場合、このブロック書き込みにハングが発生する可能性があります(例:https://github.com/eclipse/jetty.project/issues/272#issuecomment-290910610を参照してください)WebSocketによる非ブロック化の送信
私は、Jetty + Spring + SpringのWebsocket Clientを使用してスロークライアントの成功シミュレーションを行っています。
WebSocketメッセージを「送信して忘れる」ようにしたいので、クライアントが遅い(それが何をしようとしたとしても)、BrokerWriteCallbackの解決には影響しません。 Jetty(コンフィギュレーションまたはソースコードの編集)でそれを達成する最良の方法は何ですか?
現在、Jettyバージョン9.3.11.v20160721がSpring 4.3.3で使用されています。
ありがとうオープンソースプロジェクトを見てことをお勧めします!あなたはあなたの問題の詳細を教えていただけますか?コールバック付きのsendStringを想定します。クライアントがメッセージを受信したとき、または「ネットワークに書き込まれた」ときにクライアントからの何らかの確認なしでコールバックが返されるかどうか正直言って私はまだ低レベルのコミュニケーションがいかに正確に機能しているかは分かりませんし、これについての有用な洞察も高く評価しています。クライアントが "ハングする"(受信に失敗した)場合、スレッドはブロックされます。理想的には私のプログラムが他のクライアントにデータを送ることができるようにしたい。現在、私は特定の理由でシングルスレッド送信を使用しています(1つのスレッドのみがJettyを呼び出します) –