登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  java教程

DatagramSocket

时间:2026-08-20 18:07:32 306浏览 收藏

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类中的常用方法进行详细地讲解,如表1所示。

表1 DatagramSocket类中的常用方法

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

表1中,针对DatagramSocket类中的常用方法及其功能进行了介绍。其中前两个方法可以完成数据的发送或者接收的功能。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>