Python⽹络编程之UDP发送接收数据功能⽰例【基于
socket套接字】
本⽂实例讲述了Python ⽹络编程之UDP发送接收数据功能。分享给⼤家供⼤家参考,具体如下:
demo.py(UDP发送数据):
import socket # 导⼊socket模块
def main():
# 创建⼀个udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定本机ip和端⼝号 (发送数据时,如果不绑定,系统会随机分配端⼝号。接收数据时,⼀般需要⼿动绑定ip和端⼝)
udp_socket.bind(("", 7890)) # 空字符串""表⽰本地ip
# 从键盘获取数据
send_data = input("请输⼊要发送的数据:")
# 可以使⽤套接字接收和发送数据
# udp_socket.sendto(b"hahahah", ("192.168.33.53", 7788)) # 字符串前的b表⽰bytes字节类型
udp_socket.sendto(de("utf-8"), ("192.168.33.53", 7788)) # encode将字符串转成bytes类型
# 关闭套接字
udp_socket.close()
if __name__ == "__main__":
main()
demo.py(UDP接收数据):
import socket
def main():mui框架常用方法
# 1. 创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2. 绑定本机ip和端⼝
udp_socket.bind(("", 7788)) # 绑定本机的ip和端⼝(元组类型) ""表⽰本机ip
# 3. ⽤套接字接收数据
recv_data = vfrom(1024) # 1024表⽰本次接收的最⼤字节数。会阻塞代码,直到接收到数据
# recv_data这个变量中存储的是⼀个元组 (接收到的数据,(发送⽅的ip, port))
recv_msg = recv_data[0] # 字节类型存储接收到的数据
send_addr = recv_data[1] # 元组存储发送⽅的地址和端⼝信息
# 4. 打印接收到的数据
# print(recv_data) # 元组 (接收到的数据,(发送⽅的ip, port))
print("%s:%s" % (str(send_addr), recv_msg.decode("gbk"))) # decode将字节转成字符串
# 5. 关闭套接字
udp_socket.close()
if __name__ == "__main__":
main()
更多关于Python相关内容可查看本站专题:《》、《》、《》、《》、《》及《》
希望本⽂所述对⼤家Python程序设计有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论