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中函数的多种格式和使用实例及小技巧
Apr 13 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
Python入门教程之运算符与控制流
Aug 17 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
python实现推箱子游戏
Mar 25 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
Python如何实现机器人聊天
Sep 10 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 Python
用Python创建简易网站图文教程
Jun 11 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
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
axios学习教程全攻略
2017/03/26 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
微信小程序开发打开另一个小程序的实现方法
2020/05/17 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
Python识别html主要文本框过程解析
2020/02/18 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
先进员工获奖感言
2014/08/14 职场文书
学校国庆节活动总结
2015/03/23 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
如何基于python实现单目三维重建详解
2022/06/25 Python