udp网络程序流程
创建一个基于udp的网络程序流程很简单,具体步骤如下:
创建客户端套接字:socket
发送/接收数据:sendto/recvfrom
关闭套接字
注意
此外还要对飞秋发送协议的简要了解,会更清楚帮助理解:
基本格式:版本号:包编号:发送者姓名:发送者机器号:命令字(32表示发送消息):发送信息内容
举例:1:134871264:haogege:admin:32:你好,陌生人!
import socketimport random# 判断是否是程序的入口if __name__ == '__main__':while 1:# AF_INET 是ipv4 的类型# sock_dgram 是UDP传输协议的类型a = ['勇士你要去哪?', '我的剑就是你的剑', '树叶的一生只是为了归根吗?', '我命由我,天不可违', '机器人为你服务', '你好''吗?珞', '我与杀戮之中盛放,一如黎鸣中的花朵']send_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 固定端口send_udp.bind(('', 9090))i = random.randint(0, 6)neirong = a[i] + '\n'print(neirong + '\n')# 发送数据#模拟网络调试助手#send_udp.sendto(neirong.encode('utf-8'), ('192.168.200.1', 8080))#模拟飞秋send_udp.sendto(('1:14524125:浩先生:hao:32:' + neirong).encode('gbk'), ('192.168.200.1', 2425))recver, dst_ip = send_udp.recvfrom(1024)# 对二进制数据进行解码print(recver.decode('gbk', errors='ignore'), dst_ip)# 关闭send_udp.close()
飞秋大致显示效果:
简易接受显示(见谅):
网络调试助手:
本文只是简易制作希望对大家有用,如有不当还请包涵。