日期:2014-05-20  浏览次数:20672 次

一个udp传输的问题
小弟在写一个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包并不用建立连接。 这是个异步的动做。 接收端只是监听,有包来了就接收。