当前位置: 首页 > wzjs >正文

网站开发概要设计书模板如何宣传推广自己的产品

网站开发概要设计书模板,如何宣传推广自己的产品,中文编程软件,在工行网站上如何做现金理财目录 案例一:UDP协议实现的猜数字游戏 游戏概述 服务器端代码 客户端代码 (udp_client.py) 游戏特点 案例二:TCP协议实现的文件传输工具 工具概述 服务器端代码 客户端代码 工具特点 总结对比 案例一:UDP协议实现的猜数字游戏 游…

目录

案例一:UDP协议实现的猜数字游戏

游戏概述

服务器端代码 

客户端代码 (udp_client.py)

游戏特点

案例二:TCP协议实现的文件传输工具

工具概述

服务器端代码 

客户端代码

工具特点

总结对比


案例一:UDP协议实现的猜数字游戏

游戏概述

这是一个基于UDP协议的客户端-服务器猜数字游戏,服务器随机生成一个1-100的数字,客户端通过猜测数字与服务器交互,服务器会提示猜测是太大还是太小。

服务器端代码 

import socket
import random# 初始化游戏参数
num_boom = random.randint(1, 100)  # 随机生成目标数字
current_min = 1  # 当前最小猜测范围
current_max = 100  # 当前最大猜测范围# 创建UDP套接字
sk = socket.socket(type=socket.SOCK_DGRAM)
sk.bind(('172.16.1.2', 8080))  # 绑定服务器IP和端口
print("游戏开始了")while True:print("等待客户端发送消息")# 接收客户端消息msg_client, addr = sk.recvfrom(1024)print(msg_client.decode("utf-8"), addr)# 解析客户端消息name, guess_str = msg_client.decode("utf-8").split(":")guess = int(guess_str)# 判断猜测结果if guess < num_boom:current_min = guess + 1response = f"{name} 猜了 {guess},太小了!当前范围: {current_min}-{current_max}"elif guess > num_boom:current_max = guess - 1response = f"{name} 猜了 {guess},太大了!当前范围: {current_min}-{current_max}"else:response = f" {name} 猜对了!炸弹数字是 {num_boom}!"print(response)sk.sendto(response.encode(), addr)breakprint(response)sk.sendto(response.encode(), addr)sk.close()
print("游戏结束,服务器关闭")

客户端代码 (udp_client.py)

import socket# 创建UDP套接字
sk = socket.socket(type=socket.SOCK_DGRAM)
client_addr = ('172.16.1.2', 8080)  # 服务器地址name = input("请输入你的姓名: ")
while True:# 获取用户输入guess = input("请输入要发送给服务器的数字: ")msg_client = f"{name}:{guess}"# 发送猜测到服务器sk.sendto(msg_client.encode(), client_addr)# 接收服务器响应response, addr = sk.recvfrom(1024)print(response.decode("utf-8"), addr)# 判断是否猜对if "猜对了" in response.decode('utf-8'):breaksk.close()

游戏特点

  1. 使用UDP协议实现,适合简单的请求-响应式交互

  2. 服务器会动态更新猜测范围,提供更好的用户体验

  3. 包含玩家名称,使交互更加个性化

案例二:TCP协议实现的文件传输工具

工具概述

这是一个基于TCP协议实现的简单文件传输工具,支持文件上传功能(下载功能留作扩展)。

服务器端代码 

import socket
import json# 创建TCP套接字
sk = socket.socket()
sk.bind(("172.16.1.2", 8080))
sk.listen()print("服务器启动,等待客户端连接并上传文件...")# 接受客户端连接
conn, addr = sk.accept()# 接收客户端数据
msg = conn.recv(2048).decode("utf-8")
dic = json.loads(msg)  # 解析JSON数据
print(dic)# 处理上传请求
if dic["opt"] == "upload":file_name = dic["file_name"]# 保存文件内容with open(file_name, "w", encoding="utf-8") as file:file.write(dic["content"])print(f"文件 {file_name} 上传成功!")elif dic["opt"] == "download":# 下载功能可在此扩展passconn.close()
sk.close()

客户端代码

import socket
import os
import json# 创建TCP套接字并连接服务器
sk = socket.socket()
sk.connect(("172.16.1.19", 8080))# 功能菜单
menu = {"1": "upload", "2": "download"}
print("功能菜单:")
for k, v in menu.items():print(f"{k}: {v}")num = input("请输入您要操作的功能菜单: ")if num == "1":# 准备上传数据字典dic = {"opt": menu.get(num),"file_name": None,"content": None}# 获取文件信息filepath = input("请输入文件的绝对路径: ")file_name = os.path.basename(filepath)print(f"准备上传文件: {file_name}")# 读取文件内容with open(filepath, encoding='utf-8') as file:content = file.read()# 填充字典dic["file_name"] = file_namedic["content"] = content# 发送JSON数据str_dic = json.dumps(dic)sk.send(str_dic.encode("utf-8"))print("文件上传成功!")elif num == "2":# 下载功能可在此扩展passsk.close()

工具特点

  1. 使用TCP协议实现,确保数据传输的可靠性

  2. 采用JSON格式传输结构化数据

  3. 支持文本文件上传(可扩展为二进制文件)

  4. 菜单式交互界面,用户体验友好

总结对比

特性UDP猜数字游戏TCP文件传输
协议类型UDP (无连接)TCP (面向连接)
适用场景简单、快速、偶尔丢包可接受可靠、有序的数据传输
数据格式简单字符串JSON结构化数据
交互方式请求-响应式连接-传输-断开式
典型应用实时游戏、视频流文件传输、网页浏览

这两个案例展示了网络编程中两种主要协议的不同应用场景。UDP适合对实时性要求高但可以容忍少量丢包的应用,而TCP则适合需要可靠数据传输的场景。

希望这两个案例能帮助读者理解网络编程的基本原理和不同协议的应用场景。读者可以根据这些基础代码进行扩展,实现更复杂的功能。

http://www.dtcms.com/wzjs/3709.html

相关文章:

  • php制作网页教程seo自己怎么做
  • 网站开发的工作好做吗杭州seo博客有哪些
  • 两学一做学习教育网站网络营销软件站
  • wordpress菜单栏图标惠州网站seo
  • 找外包公司做个网站多少钱门户网站软文
  • 如何做免费企业网站在线检测网站安全
  • 做类似电驴网站seozou是什么意思
  • 网站建设策划方案模板广东网络优化推广
  • 饰品网站设计方案建立自己的网站平台
  • 网址搜索器seo搜索引擎优化技术
  • 邯郸专业做网站地方搜索引擎优化分析
  • 网站二维码悬浮户外广告
  • 网站正在建设中 html软文广告300字范文
  • 西安SEO网站排名站长工具ping检测
  • 长沙做痔疮东大医院de网站手机百度网盘登录入口
  • 一直免费的服务器下载seo快速排名软件案例
  • 房屋在线设计平台seo裤子的关键词首页排名有哪些
  • 电脑怎么做最新系统下载网站搜索引擎营销的模式有哪些
  • 做亚马逊外国网站需要语言好吗如何做好网站推广优化
  • 中国建设会计学会网站百度的广告怎么免费发布
  • 网站上的按钮怎么做百度竞价排名是什么意思
  • 网上开店货源的选择主要有徐州seo推广
  • 网站模板 安装推广产品的方法和步骤
  • 建筑网站编辑工作内容百度推广竞价技巧
  • 网站建设怎么寻找客户网络营销广告
  • 设计型网站百度知道在线
  • 荔湾做网站武汉搜索引擎营销
  • 湖州网站建设企业新东方在线教育平台官网
  • 怎么用本机ip做网站网站快速排名推荐
  • 打码挂机网站建设百度做广告多少钱