【发布时间】:2017-10-12 02:03:17
【问题描述】:
我正在尝试在相邻端口上初始化两个 DatagramSocket:
int iport = 5000;
DatagramSocket sock1 = new DatagramSocket(iport);
DatagramSocket sock2 = new DatagramSocket(iport + 1);
但是,如果端口 5000 或 5001 不可用,则会失败。我不在乎绑定到哪些端口,只要它们满足sock1.getPort() + 1 == sock2.getPort() 的条件即可。有没有一种简单的方法可以找到两个相邻的端口,而无需遍历所有可用端口并尝试绑定到每个端口,直到找到两个可用的端口?
【问题讨论】:
-
您可能想要选择尚未为其他协议保留的端口:Service Name and Transport Protocol Port Number Registry.
-
为什么?这个要求是完全不切实际的。如果你不关心它们是什么,你为什么关心它们是相邻的?为什么你需要两个插座?
-
我正在与一台服务器通信,无论出于何种原因,该服务器都会向比我发送的端口高一号的端口发送响应。没有多大意义,但我无权访问服务器代码...
标签: java sockets networking port