我创建了一个 DatagramSocket 并在其上调用了 getPort,它总是返回 -1。在 javadoc 中,对于空的 DatagramSocket 构造函数,它表示它将自身附加到可用端口。我非常怀疑我的计算机正在使用每个端口。在生命周期的哪个时刻它真正获得分配给它的端口号?
最佳答案
DatagramSocket.getPort
returns the port to which the socket is connected - 即连接另一端的端口(如果您已连接套接字)。
由于您尚未连接套接字,因此返回 -1。
要获取您端的端口号,请使用 getLocalPort
相反。
关于java - 为什么 DatagramSocket 的 getPort() 返回 -1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28100166/