最后更新:2022-02-10 05:05
UDP
UDP发送数据
构造方法
相关方法
发送数据的步骤
UDP接收数据
构造方法
相关方法
接收数据的步骤
代码实现
UDP通信程序练习
案例需求
代码实现
UDP三种通讯方式
UDP组播实现
实现步骤
代码实现
UDP广播实现
实现步骤
UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念
Java提供了DatagramSocket类作为基于UDP协议的Socket
| 方法名 | 说明 |
|---|---|
| DatagramSocket() | 创建数据报套接字并将其绑定到本机地址上的任何可用端口 |
| DatagramPacket(byte[] buf,int len,InetAddress add,int port) | 创建数据包,发送长度为len的数据包到指定主机的指定端口 |
| 方法名 | 说明 |
|---|---|
| void send(DatagramPacket p) | 发送数据报包 |
| void close() | 关闭数据报套接字 |
| void receive(DatagramPacket p) | 从此套接字接受数据报包 |

| 方法名 | 说明 |
|---|---|
| DatagramPacket(byte[] buf, int len) | 创建一个DatagramPacket用于接收长度为len的数据包 |
| 方法名 | 说明 |
|---|---|
| byte[] getData() | 返回数据缓冲区 |
| int getLength() | 返回要发送的数据的长度或接收的数据的长度 |
创建接收端的Socket对象(DatagramSocket)
创建一个数据包,用于接收数据
调用DatagramSocket对象的方法接收数据
解析数据包,并把数据在控制台显示
关闭接收端
接收端ServerDemo01
发送端ClientDemo01
注意一定要先运行ServerDemo01,然后再运行ClientDemo01,在ServerDemo01的控制台打印UDP传输的数据。

UDP发送数据:数据来自于键盘录入,直到输入的数据是886,发送数据结束
UDP接收数据:因为接收端不知道发送端什么时候停止发送,故采用死循环接收
接收端ServerDemo02
发送端ClientDemo02
单播
单播用于两个主机之间的端对端通信(点对点传输)

组播
组播用于对一组特定的主机进行通信

广播
广播用于一个主机对整个局域网上所有主机上的数据通信

组播的发送端跟单播是类似的,区别在于接收端!
发送端
接收端
接收端
发送端
发送端
接收端
在广播中,地址都是255.255.255.255
发送端
接收端
本文由 在线网速测试 整理编辑,转载请注明出处。