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

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

服务端代码:

客户端代码:

具体展示:

相关推荐
Wang's Blog4 小时前
RabbitMQ: 集群网络分区的深度解析之意义、风险与处理策略
网络·分布式·rabbitmq
DARLING Zero two♡5 小时前
【计算机网络】简学深悟启示录:scoket编程之udp
网络·网络协议·计算机网络·udp
阿拉伯柠檬5 小时前
应用层协议HTTP
linux·网络·c++·网络协议·http
Ha_To5 小时前
2025.12.24 Cisco防火墙ASA与动态PAT配置
linux·服务器·网络
是娇娇公主~5 小时前
TCP拥塞控制
网络协议·tcp/ip·php
就不掉头发5 小时前
UDP编程
网络·网络协议·udp
Lily.C5 小时前
小程序WebSocket实时通信全解析
websocket·网络协议·小程序
代码游侠5 小时前
学习笔记——TCP 传输控制协议
linux·网络·笔记·网络协议·学习·tcp/ip
ICT技术最前线5 小时前
华为交换机VLAN配置命令详解
服务器·网络·vlan·华为交换机
zhendianluli5 小时前
为什么fclose处理的是file而不是fd
linux·服务器·网络