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使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
python常见排序算法基础教程
Apr 13 Python
Python实现Linux中的du命令
Jun 12 Python
python中模块查找的原理与方法详解
Aug 11 Python
Django中的Signal代码详解
Feb 05 Python
使用python判断你是青少年还是老年人
Nov 29 Python
Django之模型层多表操作的实现
Jan 08 Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 Python
Python中捕获键盘的方式详解
Mar 28 Python
python实现文件的分割与合并
Aug 29 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 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安全配置
2006/10/09 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
关于文本限制字数的js代码
2007/04/02 Javascript
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
JS自定义对象实现Java中Map对象功能的方法
2015/01/20 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
vue的三种图片引入方式代码实例
2019/11/19 Javascript
Python读取txt某几列绘图的方法
2018/10/14 Python
Python实现时间序列可视化的方法
2019/08/06 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
python 弧度与角度互转实例
2020/04/15 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
企业总经理职责
2014/02/02 职场文书
机关会计岗位职责
2014/04/08 职场文书
环保倡议书怎么写
2014/05/16 职场文书
五一口号
2014/06/19 职场文书
2015年派出所工作总结
2015/04/24 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python
小程序自定义轮播图圆点组件
2022/06/25 Javascript