Python udp网络程序实现发送、接收数据功能示例


Posted in Python onDecember 09, 2019

本文实例讲述了Python udp网络程序实现发送、接收数据功能。分享给大家供大家参考,具体如下:

1. udp网络程序-发送数据

创建一个基于udp的网络程序流程很简单,具体步骤如下:

  • 创建客户端套接字
  • 发送/接收数据
  • 关闭套接字

Python udp网络程序实现发送、接收数据功能示例

代码如下:

#coding=utf-8

from socket import *

# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)

# 2. 准备接收方的地址
# '192.168.1.103'表示目的ip地址
# 8080表示目的端口
dest_addr = ('192.168.1.103', 8080) # 注意 是元组,ip是字符串,端口是数字

# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")

# 4. 发送数据到指定的电脑上的指定程序中
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)

# 5. 关闭套接字
udp_socket.close()

运行现象:

在Ubuntu中运行脚本:

Python udp网络程序实现发送、接收数据功能示例

在windows中运行“网络调试助手”:

Python udp网络程序实现发送、接收数据功能示例

2. udp网络程序-发送、接收数据

#coding=utf-8

from socket import *

# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)

# 2. 准备接收方的地址
dest_addr = ('192.168.236.129', 8080)

# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")

# 4. 发送数据到指定的电脑上
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)

# 5. 等待接收对方发送的数据
recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数

# 6. 显示对方发送的数据
# 接收到的数据recv_data是一个元组
# 第1个元素是对方发送的数据
# 第2个元素是对方的ip和端口
print(recv_data[0].decode('gbk'))
print(recv_data[1])

# 7. 关闭套接字
udp_socket.close()

python脚本:

Python udp网络程序实现发送、接收数据功能示例

网络调试助手截图:

Python udp网络程序实现发送、接收数据功能示例

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python删除列表中重复记录的方法
Apr 28 Python
详解Python异常处理中的Finally else的功能
Dec 29 Python
Python面向对象程序设计构造函数和析构函数用法分析
Apr 12 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
Sep 15 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
Python基于Socket实现简单聊天室
Feb 17 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
Python使用BeautifulSoup4修改网页内容
May 20 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 #Python
python绘制规则网络图形实例
Dec 09 #Python
Spring实战之使用util:命名空间简化配置操作示例
Dec 09 #Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 #Python
Python二次规划和线性规划使用实例
Dec 09 #Python
Python Numpy数组扩展repeat和tile使用实例解析
Dec 09 #Python
如何将 awk 脚本移植到 Python
Dec 09 #Python
You might like
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
热点新闻滚动特效的js代码
2013/08/17 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
JavaScript中Function详解
2015/02/27 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
python 统计列表中不同元素的数量方法
2018/06/29 Python
python十进制和二进制的转换方法(含浮点数)
2018/07/07 Python
flask 实现token机制的示例代码
2019/11/07 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
keras 读取多标签图像数据方式
2020/06/12 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
浅谈react路由传参的几种方式
2021/03/23 Javascript
超市实习总结自我鉴定
2013/09/19 职场文书
个人党性剖析材料
2014/02/03 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
公证书样本
2014/04/10 职场文书
演讲比赛主持词
2015/06/29 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python
千万级用户系统SQL调优实战分享
2022/03/03 MySQL