专注综合财经股票网,提供炒股知识,追涨停技巧等文章,是广大股民的学习社区!

UDP 编程

发布:互联网2019-12-03 09:03:13分类: 国内资讯

UDP 编程

服务端例子

TCP 发送数据的时候, 会建立好 TCP 的连接, 所以不需要指定地址, 而 UDP 是面向无连接的, 每次发送都需要指定发送给谁。

# udp_server.pyimport socketHOST = '127.0.0.1'PORT = 5000s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建套接字时类型选择 SOCK_DGRAMs.bind((HOST, PORT)) # 绑定套接字到本地 IP 与端口(传入的是 tuple)# UDP 不需要监听连接print(f'Server start at: {HOST}:{PORT}')while True:    data, addr = s.recvfrom(1024) # 不需要接收连接, 直接接收数据    print(f'Received from {addr}')    data = data.decode('utf-8')    print(data)    s.sendto(bytes(f'Server received {data}', encoding='utf-8'), addr) # 给客户端发送数据s.close()

客户端例子

# udp_client.pyimport socketHOST = '127.0.0.1'PORT = 5000s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 不需要用 connect() 方法连接到服务器while True:    cmd = input('Input your msg:')    s.sendto(bytes(cmd, encoding='utf-8'), (HOST, PORT))    data, addr = s.recvfrom(1024)    print(data.decode('utf-8'))

启动服务端和客户端

启动服务器:

> python udp_server.pyServer start at: 127.0.0.1:5000Received from ('127.0.0.1', 55893)你好 # 客户端发送的消息Received from ('127.0.0.1', 55893)告辞 # 客户端发送的消息

启动客户端:

> python udp_client.pyInput your msg:你好 # 输入要发送的内容Server received 你好 # 服务端返回的内容Input your msg:告辞Server received 告辞Input your msg:

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!