UDP Ping程序实现--第3关:服务端模拟丢包事件

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

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

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

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

任务描述

本关任务:在完整的服务器程序框架中模拟丢包事件发生。

相关知识

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

  1. 完整服务器程序框架;
  2. 模拟对序号模 3 为 1 的消息丢包。
完整UDP Ping服务程序框架

完整的服务器程序一般都处于后台服务状态,通过不断循环等待客户端发送 Ping 消息,经过简单处理后,将消息发给相应的客户端。 在本实验中,为了避免大量资源的消耗,设置了一个接收消息计数器,当接收到消息超过设定值后,服务程序就退出(break)循环。

模拟丢包事件

在实际 UDP 网络通信中,丢包事件是很小概率随机发生的。这里为了模拟及便于评测,采用对接收到的消息计数器进行模运算,当模 3 的取值为 1 时,就不回传消息,返回接收下一条消息。

示例:

  1. if number % 3 == 1:
  2. continue

编程要求

根据提示,在右侧编辑器代码的BeginEnd之间补充代码,实现对消息计数器模 3 为 1 的消息丢包。

测试说明

平台会对你编写的代码进行测试:

预期输出:

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

程序示例

python 复制代码
from socket import *
import random
 
# 创建UDP套接字
serverSocket = socket(AF_INET, SOCK_DGRAM)
# 绑定本机IP地址和端口号
serverSocket.bind(('', 12000))
 
num=0
while True:
        
    
    # 接收客户端消息
    message, address = serverSocket.recvfrom(1024)
    # 将数据包消息转换为大写
    message = message.upper()
        
    num=num+1
    if num>=8:
        break
 
    ########## Begin ##########
    # 对消息计数器模 3 为 1 的消息丢包
    if num % 3 == 1:
        continue
    ########## End ##########
    
    #将消息传回给客户端
    serverSocket.sendto(message, address)

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

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

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

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

相关推荐
虹科网络安全31 分钟前
使用艾体宝 IOTA 10 CORE+ 监控企业网络中的 AI 流量
网络·人工智能
醉颜凉1 小时前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全
广州灵眸科技有限公司2 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
埃科光电2 小时前
16K万兆网口彩色线阵相机:四倍带宽 高速真彩检测新方案
网络·图像处理·数码相机·计算机视觉·制造·相机
运维全栈笔记4 小时前
Windows 安装 WSL2 并运行 Ubuntu 24.04 指南
linux·网络·windows·ubuntu
qq_452396234 小时前
第十篇:《eBPF 可观测性:零侵扰的深度内核追踪》
服务器·网络·php
迪康Defender4 小时前
政企内网终端安全建设:资产‑管控‑防护‑审计闭环能力拆解
运维·网络·安全·web安全·终端安全管理
晓天衡宇•评测社区4 小时前
Seedance 2.5 登顶图生视频榜单,Wan 3.0 在游戏与教育场景进入前列
前端·javascript·网络
charliejohn5 小时前
计算机考研 408 网络 以太网、ARP、NAT、DHCP概念
网络·计算机网络
商业白皮书5 小时前
企业大模型应用可获得哪些安全防护能力?Amazon Bedrock Guardrails 从内容过滤到规则验证搭建 AI 安全护栏
网络·人工智能·安全