InetAddress address=packet.getAddress();这句中的packet.getAddress为什么获得的就是客户端的IP地址?
很简单,上面定义了一个DatagramPacket packet=new DatagramPacket(data,data.length);你就把它想象成空的模型,模子已经搭好了但是没有数据。而socket.receive(packet);这句话就是将这个类似模型结构的值存入到这个模型里面,然后通过这个模型获得其他想要的信息,例如InetAddress address=packet.getAddress();
---------------------------------------------------------------------
老师之前说过了这句话,所有的信息都存储于DatagramPacket 中,所以,UDP是针对于packet进行主要操作的。
看前面的socket.receive(packet);
packet是从客服端发送过来的。