UDP通信
发布时间:2020-12-20 10:55:55 所属栏目:Python 来源:网络整理
导读:UDP协议通信 一、特点 数据报协议(自带报头) 没有双向通道,通信类似于发短信,而TCP协议类似于打电话 二、简易版 # 服务端import socketserver = socket.socket(type=socket.SOCK_DGRAM) # UDP协议server.bind(('127.0.0.1',8080))# UDP不需要设置半连接
UDP协议通信一、特点
二、简易版# 服务端 import socket server = socket.socket(type=socket.SOCK_DGRAM) # UDP协议 server.bind(('127.0.0.1',8080)) # UDP不需要设置半连接池 它也没有半连接池的概念 # 因为没有双向通道 不需要accept 直接就是通信循环 while True: data,addr = server.recvfrom(1024) print('数据:',data) # 客户端发来的消息 print('地址:',addr) # 客户端的地址 server.sendto(data.upper(),addr) # 客户端 import socket client = socket.socket(type=socket.SOCK_DGRAM) # 不需要建立连接 直接进入通信循环 server_address = ('127.0.0.1',8080) while True: client.sendto(b'hello',server_address) data,addr = client.recvfrom(1024) print('服务端发来的数据',data) print('服务端的地址',addr) 三、UDP与TCP之间的区别
四、UDP实现简易版本QQ# 服务端 import socket server = socket.socket(type=socket.SOCK_DGRAM) server.bind(('127.0.0.1',8080)) while True: data,addr = server.recvfrom(1024) print(data.decode('utf-8')) msg = input('>>>:') server.sendto(msg.encode('utf-8'),addr) # 客户端1 import socket client = socket.socket(type=socket.SOCK_DGRAM) server_address = ('127.0.0.1',8080) while True: msg = input('>>>:') msg = '来自客户端1的消息:%s'%msg client.sendto(msg.encode('utf-8'),server_addr = client.recvfrom(1024) print(data.decode('utf-8')) # 客户端2 import socket client = socket.socket(type=socket.SOCK_DGRAM) server_address = ('127.0.0.1',8080) while True: msg = input('>>>:') msg = '来自客户端2的消息:%s'%msg client.sendto(msg.encode('utf-8'),server_addr = client.recvfrom(1024) print(data.decode('utf-8')) # 客户端3 import socket client = socket.socket(type=socket.SOCK_DGRAM) server_address = ('127.0.0.1',8080) while True: msg = input('>>>:') msg = '来自客户端3的消息:%s'%msg client.sendto(msg.encode('utf-8'),server_addr = client.recvfrom(1024) print(data.decode('utf-8')) # 客户端4 import socket client = socket.socket(type=socket.SOCK_DGRAM) server_address = ('127.0.0.1',8080) while True: msg = input('>>>:') msg = '来自客户端4的消息:%s'%msg client.sendto(msg.encode('utf-8'),server_addr = client.recvfrom(1024) print(data.decode('utf-8')) # 客户端5 import socket client = socket.socket(type=socket.SOCK_DGRAM) server_address = ('127.0.0.1',8080) while True: msg = input('>>>:') msg = '来自客户端5的消息:%s'%msg client.sendto(msg.encode('utf-8'),server_addr = client.recvfrom(1024) print(data.decode('utf-8')) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |