python udp套接字

服务端流程

#1. 创建数据报套接字
sockfd = socket(AF_INET,SOCK_DGRAM)
#2. 绑定地址
sockfd.bind(addr)
#3. 消息收发
data,addr = sockfd.recvfrom(buffersize)
#功能:接收udp消息
#参数:每次最多接收多少字节
#返回值:data 接收到的内容
	#addr 消息发送地址

n = sockfd.sendto(data,addr)
#功能:发送udp消息
#参数:data 发送的内容 bytes格式
     #addr 目标地址
#返回值:发送的字节数

4.关闭套接字

示例

#服务端
from socket import *

#创建udp套接字
sockfd = socket(AF_INET,SOCK_DGRAM)

#绑定地址
server_addr = ('0.0.0.0',8888)
sockfd.bind(server_addr)

#循环收发消息
while True:
	data,addr = sockfd.recvfrom(1024)
	#udp套接字客户端退出时,服务端不必知道,因为不建立连接,同时处理效率高
	print('Msg from %s:%s' %(addr,data.decode()))
	sockfd.sendto(b'Thanks',addr)

#关闭套接字,永远执行不到,因为服务端循环接收消息,断开时使用ctrl+c
sockfd.close()




#客户端
from socket import *

#服务器地址
ADDR = ('127.0.0.1',8888)
#创建套接字
sockfd = socket(AF_INET,SOCK_DGRAM)

#循环收发消息
while True:
	data = input('Msg>>')
	#客户端退出:直接回车
	if not data:
		break
	sockfd.sendto(data.encode(),ADDR)
	msg,addr = sockfd.recvfrom(1024)
	print('From server:',msg.decode())

sockfd.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值