2012-04-22 3 views
-1

別のヘルプスレッドでは、私のUDPサーバーにselect()メソッドを使用するように言われましたが、実装方法はわかりません。私のプログラムはsocket.receive()声明でぶら下がっていました。私はselect()が役に立ちそうです。Java - udpのセレクタの使い方

ありがとうございました。

+2

あなたは 'select'を使用するように言われませんでした。それは盲目的な提案でした。問題の根底に到達する前に、他の人が見えるようにインラインでコードを投稿する必要があります。 – Jeffrey

+1

* sigh *誰かがそれを使う方法を教えてもらえますか? –

+0

あなたの[最後の投稿](http://stackoverflow.com/questions/10262342/java-udp-applet-freezing)に、あなたのアプレットは単なる2人の努力だったと述べました。これが当てはまる場合、典型的なスレッドごとのアプローチに比べて 'Selector'を使用するとパフォーマンスが低下する可能性が高くなりますが、コードを見ずに知るのは難しいでしょう。私の最初の仮定は、Event Dispatch Threadをブロックしていることですが、もう一度、あなたのコードを知る必要があります。 – Jeffrey

答えて

-1

あなたのコードがreceive()メソッドでハングしている場合は、それが行われるはずです。永遠にブロックしたくない場合は、DatagramSocket.setSoTimeout()を適切な値で呼び出します。

フォーラムでNIOを使用する方法を尋ねることは適切ではありません。 Oracleサイトにはチュートリアルがあり、サンプル・コードはJDKで提供されています。

関連する問題