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的web框架中的Model的教程
Apr 29 Python
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
tensorflow实现测试时读取任意指定的check point的网络参数
Jan 21 Python
python为QT程序添加图标的方法详解
Mar 09 Python
python实现逢七拍腿小游戏的思路详解
May 26 Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
Django分页器的用法你都了解吗
May 26 Python
总结几个非常实用的Python库
Jun 26 Python
彻底弄懂Python中的回调函数(callback)
Jun 25 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
php XMLWriter类的简单示例代码(RSS输出)
2011/09/30 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
joomla组件开发入门教程
2016/05/04 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
js 操作select相关方法函数
2009/12/06 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
React实现轮播效果
2020/08/25 Javascript
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
简单的python协同过滤程序实例代码
2018/01/31 Python
TensorFlow变量管理详解
2018/03/10 Python
Python实现二维数组输出为图片
2018/04/03 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
说出一些常用的类,包,接口
2014/09/22 面试题
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
个人自我评价分享
2013/12/20 职场文书
考试不及格的检讨书
2014/01/22 职场文书
文明青少年标兵事迹材料
2014/01/28 职场文书
人事专员岗位职责
2015/02/03 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS