Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 侦听本地计算机上的多个套接字(不同端口)_Java_Multithreading_Sockets - Fatal编程技术网

Java 侦听本地计算机上的多个套接字(不同端口)

Java 侦听本地计算机上的多个套接字(不同端口),java,multithreading,sockets,Java,Multithreading,Sockets,我将要编写一个客户端,在不同的端口上列出传入的UDP数据包。但问题是,我不知道下一个数据包将到达哪个DatagramSocket(in_port)。我不想让四个线程运行,每个线程只监听一个DatagramSocket Mu问题:是否有一种方法可以使用C中的select功能,我只需传递一组文件描述符,然后select循环遍历所有描述符,返回接收到数据包的位置 还有一个代码示例非常好。 提前感谢您的帮助。“我不想让,例如,运行四个线程”。为什么不呢?嗯,当然是最简单的方法,对吧。但我想会有更优雅的。

我将要编写一个客户端,在不同的端口上列出传入的UDP数据包。但问题是,我不知道下一个数据包将到达哪个
DatagramSocket(in_port)
。我不想让四个线程运行,每个线程只监听一个
DatagramSocket

Mu问题:是否有一种方法可以使用
C
中的
select
功能,我只需传递一组文件描述符,然后
select
循环遍历所有描述符,返回接收到数据包的位置

还有一个代码示例非常好。
提前感谢您的帮助。

“我不想让,例如,运行四个线程”。为什么不呢?嗯,当然是最简单的方法,对吧。但我想会有更优雅的。。。但如果没有,我会选择这种方法。请参阅@assylias,原因与您不希望的原因相同,例如,一旦您拥有那么多端口,就可以运行一万个线程。