代码的分析

来源:4-3 编程实现基于 UDP 的 Socket 通信之客户端

少艾

2016-05-25 11:31

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

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

写回答 关注

2回答

  • 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是从客服端发送过来的。

    qwerth... 回复少艾

    DatagramPacket packet=new DatagramPacket(data,data.length);只是定义了一个packet。socket.receive(packet);把客户端发来的数据放到了你定义的packet中,所以packet中就有了客户端的信息。

    2016-09-30 13:13:58

    共 2 条回复 >

Java Socket应用---通信是这样练成的

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

125012 学习 · 590 问题

查看课程

相似问题