UDP套接字编程
服务端流程
代码实现: day4/udp_server.py
- 创建数据报套接字
sockfd = socket(AF_INET,SOCK_DGRAM) - 绑定地址
sockfd.bind(addr) - 消息收发
data,addr = sockfd.recvfrom(buffersize)
功能: 接收UDP消息
参数: 每次最多接收多少字节
返回值: data 接收到的内容
addr 消息发送方地址
n = sockfd.sendto(data,addr)
功能: 发送UDP消息
参数: data 发送的内容 bytes格式
addr 目标地址
返回值:发送的字节数
4. 关闭套接字
sockfd.close()
客户端流程
代码实现: day4/udp_client.py
- 创建套接字
- 收发消息
- 关闭套接字
UDP 服务端 套接子
import socket
#创建DUP套接子
sockfd=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#绑定地址
sockfd.bind(('0.0.0.0',12345))
#接受消息
while True:
data,addr=sockfd.recvfrom(1024)
print("From %s Msg:%s"%(addr,data))
sockfd.sendto(b'thank',addr)
# if not data:
# break
#关闭套接子
sockfd.close()
Udp 客户端套接子
from socket import *
#服务端地址
ADDR=('127.0.0.1',12345)
#创建套接子
sockef=socket(AF_INET,SOCK_DGRAM)
#循环发送消息
while True:
data=input('Msg>>')
if not data:
break
#向服务器发送
sockef.sendto(data.encode(),ADDR)
msg,addr=sockef.recvfrom(1024)
print("from server",msg.decode())
sockef.close()