UDP数据报套接字编程

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小时工作的,所以我们需要一个死循环来模拟一下服务器

客户端也可以使用死循环来模拟请求

服务端代码:

客户端代码:

具体展示:

相关推荐
一只很酸de橘子32 分钟前
关于https请求丢字符串导致收到报文解密失败问题
网络协议·http·https
潘yi.1 小时前
web技术与nginx网站环境部署
服务器·网络·nginx
Jtti2 小时前
Jtti:nginx服务器如何限制访问频率
服务器·网络·nginx
视觉&物联智能3 小时前
【杂谈】-人工智能驱动的网络安全威胁:新一代网络钓鱼
网络·人工智能·web安全·网络安全·安全威胁分析
学习溢出4 小时前
【网络安全】网络钓鱼的类型
网络·安全·网络安全·网络钓鱼·社会工程
帽儿山的枪手4 小时前
socket套接字你搞清楚了吗
网络协议·面试
KAXA_4 小时前
智能电网第5期 | 老旧电力设备智能化改造:协议转换与边缘计算
网络·硬件工程·信息与通信·智能电网
白山云北诗5 小时前
什么是 DDoS 攻击?高防 IP 如何有效防护?2025全面解析与方案推荐
网络协议·tcp/ip·ddos·高防ip·ddos攻击怎么防·高防ip是什么
mxbb.5 小时前
我的HTTP和HTTPS
网络协议·http·https
Zz_waiting.6 小时前
网络原理 - 10(HTTP/HTTPS - 1)
网络·http·https