Python套接字之UDP
目录
基于UDP的socket
面向无连接的不可靠数据传输,可以没有服务器端,只不过没有服务器端,发送的数据会被直接丢弃,并不能到达服务器端
发送消息
在Python中使用socket需要导入socket
import socket
# 创建套接字
udp_skt = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 发送的信息,转换成bytes类型,注意,发送的信息,必须是bytes类型
msg = '你好,我是Python'.encode('gb2312')
# 信息发送给那个ip?哪个port,注意,以元组的类型存储
addr = ('192.168.4.58',12306)
# 发送信息
udp_skt.sendto(msg,addr)
# 关闭套接字连接
udp_skt.close()
接收消息
import socket
# 创建套接字
udp_skt = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 绑定ip地址与端口
addr = ('',10086)#以元组方式,第一个元素为ip,为空表示本地,第二个为端口
udp_skt.bind(addr)
# recvfrom()需要一个参数,表示接收多少字节大小
# 接收的内容会以元组的方式存储,元组中有两项,第一项为接收的消息,第二项为消息的来源地址
res= udp_skt.recvfrom(1024)
data = res[0]#获取返回的消息,注意:发送的为bytes类型,接收同样也是bytes类型
addr = res[1]#获取消息的来源地址
# 将接收的消息,进行decode()解码
data = data.decode('gb2312')
print(data)
# 回复消息
msg = input('').encode('gb2312')
udp_skt.sendto(msg,addr)
# 关闭连接
udp_skt.close()
版权声明:本文为samtester原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。