使用udp协议,多线程socket网络编程实现
本篇博客针对有一点socket编程基础的同学,采用的udp协议,为了实现收发信息的实时性,采用了多线程的方式,话不多说,直接上代码(我把该文件名命名为 qq.py):
from socket import *
from threading import Thread
# 创建socket套接字
udp = socket(family=AF_INET, type=SOCK_DGRAM)
# 发送数据函数
def sentData(addr, desport):
while True:
data = input()
udp.sendto(data.encode('utf8'),( addr, desport))
# 接收数据函数,绑定本地端口
def recvData(port):
udp.bind(('', port))
while True:
data = udp.recvfrom( 1024 )
print("\r>> " + data[0].decode('utf8') )
if __name__ == "__main__":
addr = input("请输入对端通信地址:")
desport = int(input("请输入对端通信端口:"))
port = int(input("请输入本地绑定端口:"))
t1 = Thread(target=sentData,args=(addr,desport) )
t2 = Thread(target=recvData,args=(port,) )
t1.start()
t2.start()
使用 cx_Freeze 创建一个exe可执行程序来验证是否可以通信
具体打包步骤可在以前的博客中