Python实现基于socket的udp传输与接收功能详解
作者:独听钟声晚 时间:2023-09-04 03:23:20
本文实例讲述了Python实现基于socket的udp传输与接收功能。分享给大家供大家参考,具体如下:
udp的传输与接收
windows网络调试助手下载:https://pan.baidu.com/s/1IwBWeAzGUO1A3sCWl20ssQ
提取码:68gr
或者点击此处本站下载。
一.基本用法
1.创建套接字
udp_socket = socket.socket(socket.AF_INET,cosket.SOCK_DGRAM)
localaddr = ("",port)
udp_socket.bind(localaddr)
2.使用套接字收发数据
udp_socket.sendto("xxxx").encode("utf-8"),("ip",port)
udp_socket.recvfrom(1024)
3.关闭套接字
udp_socket.close()
二.发送数据流程
1.创建套接字
2.发送数据
3.关闭
import socket
def main():
# 创建一个套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
# 从键盘获取数据
send_data = input("请输入要发送的数据:")
# 退出函数
if send_data == "exit":
break
# 可以使用套接字收发数据,此时未绑定发送的端口号,系统每次会随机分配一个
# udp_socket.sendto("hahaha",对方的IP和port)
# udp_socket.sendto(b"lalala123",("172.17.3.97",8080))
udp_socket.sendto(send_data.encode("gbk"),("172.17.3.97",8080)) #由于接收是在Windows上,而Windows中默认编码为gbk
# 关闭套接字
udp_socket.close()
if __name__ == '__main__':
main()
三.接收数据流程
1.创建套接字
2.绑定本地信息(ip和port)
3.接收数据
4.关闭
import socket
def main():
# 1创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2.绑定一个本地信息
localaddr = ("",7788) # 必须绑定自己电脑IP和port
udp_socket.bind(localaddr)
# 3.接收数据
while True:
recv_data = udp_socket.recvfrom(1024)
# recv_data存储元组(接收到的数据,(发送方的ip,port))
recv_msg = recv_data[0] # 信息内容
send_addr = recv_data[1] # 信息地址
# 4.打印接收到的数据
# print(recv_data)
print("信息来自:%s 内容是:%s" %(str(send_addr),recv_msg.decode("gbk")))
# 5.退出套接字
udp_socket.close()
if __name__ == "__main__":
main()
在网络调试助手中发送消息
发送三次“你好”
发送三次“hello”
回到pycharm查看信息
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/weixin_44321116/article/details/96475120
标签:Python,socket,udp
0
投稿
猜你喜欢
Pytorch使用transforms
2023-11-01 20:34:33
详解KMP算法以及python如何实现
2022-11-17 05:27:18
Python修改Excel数据的实例代码
2021-05-24 12:40:29
python实现淘宝秒杀聚划算抢购自动提醒源码
2022-12-04 11:43:15
如何取得服务器上的用户组列表?
2010-01-18 20:54:00
python 实现返回一个列表中出现次数最多的元素方法
2023-01-04 14:36:54
Python实现多属性排序的方法
2021-03-11 02:13:57
Vue中如何优雅的捕获 Promise 异常详解
2023-07-02 16:56:14
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2024-01-14 21:03:01
python中numpy 常用操作总结
2021-01-10 05:01:57
详解Python列表赋值复制深拷贝及5种浅拷贝
2022-07-16 16:22:41
setTimeout与setInterval的区别浅析
2024-04-22 13:25:25
举例详解JavaScript中Promise的使用
2024-06-05 09:58:07
python实现飞机大战游戏
2021-09-30 12:05:06
详解Linux下安装php环境并且配置Nginx支持php-fpm模块
2023-11-11 02:02:50
网站重构到底是什么
2008-11-03 11:30:00
MySQL 行转列详情
2024-01-22 18:19:58
PyQt5+Pycharm安装和配置图文教程详解
2022-12-20 08:50:26
python直接调用和使用swig法方调用c++库
2021-05-26 11:08:26
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2023-02-11 11:33:26