小弟在写一个udp传输的测试程序,出现以下问题,请高手帮忙解决一下,谢谢!
用DatagramSocket ds 包装 DatagramPacket dp 传输,
发送程序:
ds.send(dp); (ds没有绑定端口,dp绑定6666端口,省略部分具体细节)
接收程序:
ds.receive(dp); (其中ds = new DatagramSocket(6666);)
我怀疑是接收的问题,打印ds.getPort()竟然是-1!
写了如下验证程序:
DatagramSocket ds = new DatagramSocket(6666);
System.out.println(ds.getPort());
打印竟然也是-1,文档里说:
getPort()
Returns the port for this socket. Returns -1 if the socket is not connected.
小弟这个就不明白了,忘高手指教!谢谢!
------解决方案--------------------
ds.getLocalPort().
------解决方案--------------------
发送UDP包并不用建立连接。 这是个异步的动做。 接收端只是监听,有包来了就接收。