问答详情
源自:4-3 编程实现基于 UDP 的 Socket 通信之客户端

代码的分析

http://img.mukewang.com/57451c27000105e707750372.jpg

InetAddress address=packet.getAddress();这句中的packet.getAddress为什么获得的就是客户端的IP地址?

提问者:少艾 2016-05-25 11:31

个回答

  • Airly
    2016-10-25 16:06:14

    很简单,上面定义了一个DatagramPacket packet=new DatagramPacket(data,data.length);你就把它想象成空的模型,模子已经搭好了但是没有数据。而socket.receive(packet);这句话就是将这个类似模型结构的值存入到这个模型里面,然后通过这个模型获得其他想要的信息,例如InetAddress address=packet.getAddress(); 

    ---------------------------------------------------------------------

    老师之前说过了这句话,所有的信息都存储于DatagramPacket 中,所以,UDP是针对于packet进行主要操作的。

  • ilovesoftware
    2016-05-25 16:03:52

    看前面的socket.receive(packet);

    packet是从客服端发送过来的。