- <P> import java.net.*;</P>
- <P>class UdpRec {
- public static void main(String[] args) throws Exception{
- DatagramSocket ds = null;
- DatagramPacket dp = null;
- ds = new DatagramSocket(4000);//电脑上QQ用了4000号端口,为啥编译时不报错呢
- while (true) {
- byte[] buf = new byte[1024];
- dp = new DatagramPacket(buf,buf.length);
- ds.receive(dp);</P>
- <P> String ip = dp.getAddress().getHostAddress();</P>
- <P> String data =
- new String(dp.getData(),0,dp.getLength());</P>
- <P> int port = dp.getPort();
-
- System.out.println(ip+"::"+data+"::"+port);
- }
- }
- }
- </P>
复制代码 学习毕老师java第23天网络时,课程中说端口已用的情况下会报错,
我电脑上开着QQ,查看360发现用的是4000,但是我在代码中设置4000却没报错,不过信息也收不到了,这时怎么回事呢
还有,0.0.0.0是什么地址?和127.0.0.1有啥关系没,有知道的请说一下,谢谢
最后一个问题,我换个已用的TCP端口完全没问题,不冲突报错,也能收到信息
是不是说TCP,UDP可以共享同一个端口呢
|
|