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

标签 java udp

我创建了一个 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/

相关文章:

java - JAXB 中的编码/解码空值

java - 我正在运行哪个版本的 JBoss?

java - 在开始测量性能之前预热代码

node.js - 您必须在 Node.js 中关闭 UDP (dgram) 客户端还是可以重用它?

networking - c#中可靠的udp

c - 在 C 的 UDP 中用 recvfrom 生成的缓冲区中有什么?

java - 为什么我的 BigInteger.add() 会出现 NullPointerException?

java - 在 WebObjects 中从多页表单创建 PDF

c# - 如何查看路由器开放了哪些端口

networking - Netcat 在 UDP 响应时退出