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中的rjust()方法使用详解
May 19 Python
玩转python爬虫之爬取糗事百科段子
Feb 17 Python
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
利用 Monkey 命令操作屏幕快速滑动
Dec 07 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
Python异常模块traceback用法实例分析
Oct 22 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
Pymysql实现往表中插入数据过程解析
Jun 02 Python
Python 读取位于包中的数据文件
Aug 07 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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
基于mysql的bbs设计(一)
2006/10/09 PHP
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
php实现的RSS生成类实例
2015/04/23 PHP
PDO::inTransaction讲解
2019/01/28 PHP
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
微信小程序实现下载进度条的方法
2017/12/08 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
优秀教师的感人事迹
2014/02/04 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
2014年基层党支部工作总结
2014/12/04 职场文书
合作与交流自我评价
2015/03/09 职场文书
大学运动会通讯稿
2015/07/18 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python
R9700摩机记
2022/04/05 无线电