3

一度に 1 つのポートで UDP と TCP の両方を実行する必要があるような状況があります。これは、私のアプリケーションでは、いつでも誰でも任意のプロトコルを呼び出すことができるためです。そのため、着信リクエストを継続的にチェックし、リクエストを処理する必要があります。Javaでこの状況を取り除くのを手伝ってくれる人はいますか?

4

1 に答える 1

7

リクエストが TCP か UDP かを確認することはできません。代わりに、TCP のリスナーと UDP のリスナーを追加します。ブロードキャストまたはマルチキャスト アドレスを使用する場合は、IMHO UDP の方が便利です。

例えば

ServerSocket ss = new ServerSocket(12345);
DatagramSocket ds = new DatagramSocket(12345);

また

ServerSocket ss = new ServerSocket(12345);
DatagramSocket ds = new MulticastSocket(new InetSocketAddress("224.224.1.1", 12345));

どちらの場合も、tcp 接続は に行きServerSocket、udp パケットは に行きます。DatagramSocket

于 2012-08-29T11:08:53.633 に答える