位置:首页 > Java > DatagramSocket原理与用法详解教程

DatagramSocket原理与用法详解教程

时间:2026-08-15  |  作者:深海捕梦者  |  阅读:0

DatagramSocket用于创建发送端和接收端对象。

不过,在创建发送端和接收端的DatagramSocket对象时,所使用的构造方法有所不同。下面对DatagramSocket类中常用的构造方法进行讲解。

DatagramSocket

DatagramSocket常用构造方法

  • DatagramSocket()

    该构造方法用于创建发送端的DatagramSocket对象。

    在创建DatagramSocket对象时,并没有指定端口号。此时,系统会分配一个没有被其它网络程序所使用的端口号。

  • DatagramSocket(int port)

    该构造方法既可用于创建接收端的DatagramSocket对象,也可以创建发送端的DatagramSocket对象。

    在创建接收端的DatagramSocket对象时,必须要指定一个端口号,这样就可以监听指定的端口。

  • DatagramSocket(int port,InetAddress addr)

    使用这个构造方法创建 DatagramSocket 时,除了要把端口号定下来,还会同时绑定一个具体的 IP 地址。

    这个用法通常出现在一台计算机配有多块网卡的场景里,因为它可以明确指定:数据到底从哪块网卡发出去,又由哪块网卡接收回来。

    说得更直白一点,不同网卡通常会对应不同的 IP,所以在创建 DatagramSocket 对象时,只有把 IP 地址一并指定清楚,才能准确确定这次通信到底走哪块网卡。

DatagramSocket类中的常用方法

上面我们讲解了DatagramSocket的常用构造方法,接下来对DatagramSocket类中的常用方法进行详细地讲解,如表1所示。

表1 DatagramSocket类中的常用方法

方法声明 功能描述
void receive(DatagramPacket p) 该方法用于接收DatagramPacket数据报,在接收到数据之前会一直处于阻塞状态,如果发送消息的长度比数据报长,则消息将会被截取
void send(DatagramPacket p) 该方法用于发送DatagramPacket数据报,发送的数据报中包含将要发送的数据、数据的长度、远程主机的IP地址和端口号
void close() 关闭当前的Socket,通知驱动程序释放为这个Socket保留的资源

方法作用说明

表1中,针对DatagramSocket类中的常用方法及其功能进行了介绍。

其中前两个方法可以完成数据的发送或者接收的功能。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多