UDP template 代码

本文详细介绍了一个使用Python进行网络编程的示例,包括客户端和服务端的实现。服务端通过socket库接收并处理来自客户端的命令,客户端则发送命令并接收处理后的结果。文中展示了如何使用struct模块来打包和解包数据,以便在网络上传输。此外,还介绍了如何处理大数据量的传输,确保数据的完整性和正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务端

 1 from socket import *
 2 import json,struct
 3 
 4 client= socket(AF_INET,SOCK_STREAM)
 5 client.connect(('127.0.0.1',8081))
 6 
 7 while True:
 8     cmd=input('>>>').strip()
 9     if not cmd:continue
10     client.send(cmd.encode('utf-8'))
11     # 先接受报头长度
12     head_len=struct.unpack('i',client.recv(4))[0]
13     # 接收报头
14     head_bytes=client.recv(head_len)
15     # 解析报头
16     head_json=head_bytes.decode('utf-8')
17     head_dic=json.loads(head_json)
18     print(head_json)
19     total_size=head_dic['size']
20     # 取出真实数据
21     recv_size=0
22     finnally_data=b''
23     while total_size>recv_size:
24         recv_data=client.recv(1024)
25         finnally_data+=recv_data
26         recv_size+=len(recv_data)
27     print(finnally_data.decode('gbk'))
28 
29 client.close()

 

客户端

 1 from socket import *
 2 
 3 client=socket(AF_INET,SOCK_DGRAM)
 4 
 5 while True:
 6     msg=input('>>>').strip()
 7     if not msg:continue
 8     client.sendto(msg.encode('utf-8'),('127.0.0.1',8080))
 9     data,addr=client.recvfrom(512)
10     print(data.decode('utf-8'))

 

转载于:https://www.cnblogs.com/du-jun/p/9949323.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值