1. udp协议
UDP是没有连接的,不会像TCP一样有三次招手和四次挥手的过程,
1.2 简单示例
服务端:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
from socket import * ip_port=('127.0.0.1',8080) buffer_size=1024 udp_server=socket(AF_INET,SOCK_DGRAM) udp_server.bind(ip_port) while True:#循环收发 data,addr=udp_server.recvfrom(buffer_size) print(data) udp_server.sendto(data.upper(),addr)
客户端
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
from socket import * ip_port=('127.0.0.1',8080) buffer_size=1024 udp_client=socket(AF_INET,SOCK_DGRAM) while True: msg=input('please omin put something') udp_client.sendto(msg.encode('utf-8'),ip_port)#将数据发给这个端口 data,addr=udp_client.recvfrom(buffer_size) print(data.decode('utf-8'))
因为udp是无连接的,所以udp可以实现多个客户端同时连接。
1.3 recv和recvfrom的区别
recvfrom会在客户端发来的数据中自动加上一段消息头,含有客户端的地址和端口信息,所以不会信息为空的情况///