UDP Ping程序实现--第2关:接收并转发消息

✨创作不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

任务描述

本关任务:在 Ping 服务端程序框架中,完成接收数据,并回传给相应客户端。

相关知识

为了完成本关任务,你需要掌握:

  1. UDP Ping 服务程序的框架;
  2. 如何接收数据包套接字数据;
  3. 如何发送数据包套接字数据。
服务器程序框架介绍

在这个简单的 UDP Ping 服务器程序中,完成套接字创建及绑定后,当接收到消息后进行简单处理(这里是转化为大写),再将消息回传给相应的客户端。

UDP通信中发送与接收数据

在 UDP 通信中,使用sendto()函数发送 UDP 数据,将数据发送到套接字,输入参数 address 是形式为(host, port)的元组,指定远程地址,其中host表示服务器地址,port表示服务器端口号。返回值是发送的字节数。

接收数据使用recvfrom()函数实现。输入参数为接收缓冲区大小。该函数接收 UDP 数据,与recv()类似,但返回值是(data, address)。其中data是包含接收数据的字符串,address是发送数据的套接字地址。

示例如下:

  • 接收数据
  1. msg,addr=udp_server.recvfrom(BUFSIZE)
  2. 使用套接字对象udp_server的recvfrom()方法接收数据
  • 发送数据
  1. udp_server.sendto(msg,addr)
  2. 使用套接字对象udp_server的sendto()方法发送数据

编程要求

根据提示,在右侧编辑器中BeginEnd之间补充代码,完成接收 Ping 客户端发送的消息并转发给相应的客户端。

测试说明

平台会对你编写的代码进行测试,客户端发送多个消息,并接收服务器的回传消息,并打印相应的统计信息。

预期输出:

  1. Sequence 1: Reply from 127.0.0.1 RTT = 0.000s
  2. Sequence 2: Request timed out
  3. Sequence 3: Request timed out
  4. Sequence 4: Request timed out
  5. Sequence 5: Request timed out
  6. Sequence 6: Request timed out
  7. Sequence 7: Request timed out
  8. Sequence 8: Request timed out
  9. Sequence 9: Request timed out
  10. Sequence 10: Request timed out

源程序示例

python 复制代码
from socket import *
 
# 创建UDP套接字
serverSocket = socket(AF_INET, SOCK_DGRAM)
# 绑定本机IP地址和端口号
serverSocket.bind(('', 12000))
 
########## Begin ##########
# 接收客户端消息
message, address = serverSocket.recvfrom(1024)
# 将数据包消息转换为大写
message = message.upper()
#将消息传回给客户端
serverSocket.sendto(message, address)
########## End ##########
相关推荐
zhang1338308907521 分钟前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
津津有味道1 小时前
易语言TCP服务端接收刷卡数据并向客户端读卡器发送指令
服务器·网络协议·tcp·易语言
酣大智2 小时前
接口模式参数
运维·网络·网络协议·tcp/ip
Genie cloud2 小时前
1Panel SSL证书申请完整教程
服务器·网络协议·云计算·ssl
24zhgjx-lxq2 小时前
华为ensp:MSTP
网络·安全·华为·hcip·ensp
ling___xi2 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
REDcker3 小时前
Linux 文件描述符与 Socket 选项操作详解
linux·运维·网络
Up九五小庞3 小时前
用arpspoof实现100%批量切断192.168.110.10 - 192.168.110.100 断网(双向欺骗)--九五小庞
网络·开源
躺柒3 小时前
读数字时代的网络风险管理:策略、计划与执行04风险指引体系
大数据·网络·信息安全·数字化·网络管理·网络风险管理
独角鲸网络安全实验室4 小时前
本地信任成“致命漏洞”:数千Clawdbot Agent公网裸奔,供应链与内网安全告急
网络·网关·安全·php·漏洞·clawdbot·信任机制漏洞