DatagramPacket datagramPacket = new DatagramPacket( buf , buf.length ,InetAddress.getLocalHost() , 10000);
中的端口号指得是数据发送目标的端口号
DatagramSocket datagramSocket = new DatagramSocket(8888) ;
指得是发送端出去的端口号,可以不填,那样会自动分配一个端口。
------------------------------------------------------------
socket有个形象的举例是港口,如果你的数据想从一个地方到另一个地方,那么必须从一个港口,到另外一个港口。既然目的地的港口需要具体的码头号(端口号)用做驳船,那么在启航的港口当然也需要某个码头号来对应某搜船啦!
至于为什么收到的对象里,端口号是出发点的端口号,那是肯定啦,人家当然不需要知道自己的端口号啦!自己的对象里有自己的端口号呀,既然是发送者来的对象,那么我获取对象中的端口号的目的当然是想往回发送啦,那么当然需要的是对方的端口号啦~~~
不知道这样解释你明不明白。。http://bbs.itheima.com/forum.php?mod=attachment&aid=MjY0Mzl8OGQ0M2ZmOWY2ZWE0ZGU1OTY2YzcxY2Y4ZGNmYjdiOGJ8MTczNTI0NzU0NQ%3D%3D&request=yes&_f=.jpg |
|