"""
UDP:
数据报套接字(SOCK_DGRAM)以数据报形式进行传输数据,实现udp网络传输方案,是无连接的,不可靠的
服务端:socket-->bind-->recvfrom-->sendto-->close
客户端:socket-->bind(可选)-->sendto-->recvfrom-->close
创建socket服务端:
1.创建udp套接字
2.绑定服务器IP地址
3.接收数据
4.发送数据
5.关闭套接字
"""
from socket import *
# 创建udp服务端套接字
soc = socket(AF_INET, SOCK_DGRAM)
# 设置端口可以立即重用
soc.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
# 创建服务器ip和端口号
server_addr = ("127.0.0.1", 6665)
# 绑定服务器地址
soc.bind(server_addr)
while True:
# 接收来自客户端发送的信息
buffer_byte, addr = soc.recvfrom(1024)
# 打印信息
print(buffer_byte.decode())
# 编辑要发送的文字
data = b"hello my is Server"
# 向客户端发送数据
num = soc.sendto(data, addr)
# 关闭套接字
soc.close()
"""========================客户端=========================="""
"""
udp客户端
客户端:socket-->bind(可选)-->sendto-->recvfrom-->close
创建socket客户端:
1.创建udp套接字
2.绑定IP地址(可选)
3.发送数据
4.接收数据
5.关闭套接字
"""
import socket
scoc = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_addr = ('127.0.0.1', 6665)
while True:
data = input("Meg>>")
if not data:
break
scoc.sendto(data.encode(), server_addr)
recv_data, addr = scoc.recvfrom(1024)
print("Server:", recv_data.decode())
scoc.close()