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类的专用方法实例分析
Jan 09 Python
Python进阶篇之字典操作总结
Nov 16 Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
Apr 19 Python
python解决js文件utf-8编码乱码问题(推荐)
May 02 Python
Window环境下Scrapy开发环境搭建
Nov 18 Python
对python判断ip是否可达的实例详解
Jan 31 Python
详解Python函数式编程—高阶函数
Mar 29 Python
关于Python形参打包与解包小技巧分享
Aug 24 Python
Python3如何判断三角形的类型
Apr 12 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
Python偏函数Partial function使用方法实例详解
Jun 17 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
解析thinkphp中的导入文件标签
2013/06/20 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
PHP中phar包的使用教程
2017/06/14 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
JCalendar 日历控件 v1.0 beta[兼容IE&Firefox] 有文档和例子
2007/05/30 Javascript
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
2007/07/11 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
javascript中如何处理引号编码"
2013/08/15 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
[02:35]DOTA2超级联赛专访XB 难忘一年九冠称王
2013/06/20 DOTA
简单解析Django框架中的表单验证
2015/07/17 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
python for 循环获取index索引的方法
2019/02/01 Python
python logging日志模块原理及操作解析
2019/10/12 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Python日志syslog使用原理详解
2020/02/18 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
python 实现音频叠加的示例
2020/10/29 Python
python利用opencv实现颜色检测
2021/02/23 Python
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
保护环境的宣传语
2015/07/13 职场文书
合理化建议书范文
2015/09/14 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS