API介绍
对于UDP的Socket API来说,可以当成是一个Socket "文件",操作系统提供的一个API来操作网卡。
在java中提供了DatagramSocket 这样的API,用于发送和接收数据报:
DatagramSocket构造方法:
注:无参版本一般用于客户端,有参版本用于服务端。
DatagramSocket其他方法:
DatagramPacket构造方法:
该方法是UDP用来发送接收的数据报:
DatagramPacket方法:
InetSocketAddress(SocketAddress)构造方法
接下来我们实现一个回显服务器(客户端请求和服务器响应),简单模拟一下真实服务器场景。
服务端的实现
Server:
一、先准备一个Socket类型,并且定义服务端的构造方法
二、准备一个执行服务器的方法,里面满足三个步骤:
(1)读取请求并且解析
(2)根据请求,计算响应
(3)把响应返回给客户端
(4)记录日志,观察执行结果
三、主函数创建服务器并执行
客户端的实现
Client:
一、准备一个Socket类型,用于发送数据报,再定义连接的服务器的IP和端口号
(由于当前是在本机运行,IP地址为"127.0.0.1")
二、定义执行方法,里面包含着三个步骤:
(1)输入需要发送的数据
(2)构造并发送数据报
(3)接收并显示服务器的响应
三、定义主函数执行
客户端和服务端的交互
因为服务器是7*24小时工作的,所以我们需要一个死循环来模拟一下服务器
客户端也可以使用死循环来模拟请求