为什么DatagramSocket的getPort()返回-1?

时间:2015-01-22 22:55:21

标签: java udp

我创建了一个DatagramSocket并在其上调用了getPort,它总是返回-1。在javadocs中,对于空的DatagramSocket构造函数,它表示它将自身附加到可用端口。我非常怀疑我的电脑正在使用每个端口。生命周期中的哪一点实际上是为它分配了一个端口号?

1 个答案:

答案 0 :(得分:3)

DatagramSocket.getPort returns the port to which the socket is connected - 即连接其他端的端口,如果您已连接套接字。

由于您尚未连接套接字,因此返回-1。

要获得最终的端口号,请改用getLocalPort