Python实现基于socket的udp传输与接收功能详解


Posted in Python onNovember 15, 2019

本文实例讲述了Python实现基于socket的udp传输与接收功能。分享给大家供大家参考,具体如下:

udp的传输与接收

windows网络调试助手下载:https://pan.baidu.com/s/1IwBWeAzGUO1A3sCWl20ssQ
提取码:68gr

或者点击此处本站下载

一.基本用法

1.创建套接字

udp_socket = socket.socket(socket.AF_INET,cosket.SOCK_DGRAM)
localaddr = ("",port)
udp_socket.bind(localaddr)

2.使用套接字收发数据

udp_socket.sendto("xxxx").encode("utf-8"),("ip",port)
udp_socket.recvfrom(1024)

3.关闭套接字

udp_socket.close()

二.发送数据流程

  • 1.创建套接字
  • 2.发送数据
  • 3.关闭
import socket
def main():
  # 创建一个套接字
  udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  while True:
    # 从键盘获取数据
    send_data = input("请输入要发送的数据:")
    # 退出函数
    if send_data == "exit":
      break
    # 可以使用套接字收发数据,此时未绑定发送的端口号,系统每次会随机分配一个
    # udp_socket.sendto("hahaha",对方的IP和port)
    # udp_socket.sendto(b"lalala123",("172.17.3.97",8080))
    udp_socket.sendto(send_data.encode("gbk"),("172.17.3.97",8080)) #由于接收是在Windows上,而Windows中默认编码为gbk
  # 关闭套接字
  udp_socket.close()
if __name__ == '__main__':
  main()

Python实现基于socket的udp传输与接收功能详解
Python实现基于socket的udp传输与接收功能详解
Python实现基于socket的udp传输与接收功能详解
Python实现基于socket的udp传输与接收功能详解

三.接收数据流程

  • 1.创建套接字
  • 2.绑定本地信息(ip和port)
  • 3.接收数据
  • 4.关闭
import socket
def main():
  # 1创建套接字
  udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  # 2.绑定一个本地信息
  localaddr = ("",7788) # 必须绑定自己电脑IP和port
  udp_socket.bind(localaddr)
  # 3.接收数据
  while True:
    recv_data = udp_socket.recvfrom(1024)
    # recv_data存储元组(接收到的数据,(发送方的ip,port))
    recv_msg = recv_data[0] # 信息内容
    send_addr = recv_data[1] # 信息地址
    # 4.打印接收到的数据
    # print(recv_data)
    print("信息来自:%s 内容是:%s" %(str(send_addr),recv_msg.decode("gbk")))
  # 5.退出套接字
  udp_socket.close()
if __name__ == "__main__":
  main()

运行此程序
Python实现基于socket的udp传输与接收功能详解

在网络调试助手中发送消息

发送三次“你好”
Python实现基于socket的udp传输与接收功能详解

发送三次“hello”
Python实现基于socket的udp传输与接收功能详解

回到pycharm查看信息
Python实现基于socket的udp传输与接收功能详解

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
一篇不错的Python入门教程
Feb 08 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
用Python将Excel数据导入到SQL Server的例子
Aug 24 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
如何基于Python实现自动扫雷
Jan 06 Python
Python实现手绘图效果实例分享
Jul 22 Python
Python+Appium新手教程
Apr 17 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 Python
python根据文本生成词云图代码实例
Nov 15 #Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 #Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 #Python
Django admin禁用编辑链接和添加删除操作详解
Nov 15 #Python
django实现类似触发器的功能
Nov 15 #Python
Python socket实现的文件下载器功能示例
Nov 15 #Python
Django通过dwebsocket实现websocket的例子
Nov 15 #Python
You might like
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
python安装Scrapy图文教程
2017/08/14 Python
socket + select 完成伪并发操作的实例
2017/08/15 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
详解Django中间件执行顺序
2018/07/16 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
python上selenium的弹框操作实现
2020/07/13 Python
python实现简单的学生管理系统
2021/02/22 Python
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
幼儿园中班新学期寄语
2014/01/18 职场文书
新闻报道策划方案
2014/06/11 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
小学亲子活动总结
2014/07/01 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
民主生活会意见
2015/06/05 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle