day33
一.基于udp协议的套接字通信
TCP 协议与 UDP协议对比
tcp协议是可靠协议,对方必须回复一个ack确认信息,才会将自己这段的数据从内存中删除
tcp有链接,传输数据的效率较udp低
tcp协议有粘包问题
udp协议不可靠协议,发送一条消息就会立即删除,不管对方是否接收到
udp协议无链接,传输数据的效率高
udp协议称之为数据报协议,每次发送都是一个完整的数据报,一个发送唯一对应一个接收,所以udp协议没有粘包问题
udp是无链接的,先启动哪一端都不会报错
udp服务端
ss = socket() #创建一个服务器的套接字
ss.bind() #绑定服务器套接字
inf_loop: #服务器无限循环
cs = ss.recvfrom()/ss.sendto() # 对话(接收与发送)
ss.close() # 关闭服务器套接字
udp客户端
cs = socket() # 创建客户套接字
comm_loop: # 通讯循环
cs.sendto()/cs.recvfrom() # 对话(发送/接收)
cs.close()
udp套接字简单示例
udp协议服务端
from socket import *
import time
server = socket(AF_INET, SOCK_DGRAM)
server.bind(('127.0.0.1', 8080))
while True:
data, client_addr = server.recvfrom(1024)
time.sleep(10)
server.sendto(data.upper(), client_addr)
udp协议客户端
from socket import *
client = socket(AF_INET, SOCK_DGRAM)
while True:
msg =