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 相关文章推荐
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
5种Python单例模式的实现方式
Jan 14 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
Python科学画图代码分享
Nov 29 Python
Python用for循环实现九九乘法表
May 31 Python
Python中查看变量的类型内存地址所占字节的大小
Jun 26 Python
python开头的coding设置方法
Aug 08 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
Jan 19 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
python实现微信打飞机游戏
Mar 24 Python
使用Python项目生成所有依赖包的清单方式
Jul 13 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
Terran魔法科技
2020/03/14 星际争霸
第三节--定义一个类
2006/11/16 PHP
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
获取JavaScript用户自定义类的类名称的代码
2007/03/08 Javascript
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
2014/03/06 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
简单介绍Python中的RSS处理
2015/04/13 Python
Python生成器以及应用实例解析
2018/02/08 Python
python如何使用unittest测试接口
2018/04/04 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
Python 代码调试技巧示例代码
2020/08/11 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
外贸英语专业求职信范文
2013/12/25 职场文书
小学生暑假感言
2014/02/06 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
布达拉宫的导游词
2015/02/02 职场文书
2015年采购部工作总结
2015/04/23 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL