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使用Image处理图片常用技巧分析
Jun 01 Python
利用python代码写的12306订票代码
Dec 20 Python
Python网站验证码识别
Jan 25 Python
图文详解WinPE下安装Python
May 17 Python
python微信跳一跳系列之棋子定位像素遍历
Feb 26 Python
Python设计模式之状态模式原理与用法详解
Jan 15 Python
使用Python将字符串转换为格式化的日期时间字符串
Sep 01 Python
python动态视频下载器的实现方法
Sep 16 Python
详解vscode实现远程linux服务器上Python开发
Nov 10 Python
python 使用cycle构造无限循环迭代器
Dec 02 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
python中time包实例详解
Feb 02 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中opendir函数用法实例
2014/11/15 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
JavaScript 基础篇(一)
2012/03/30 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
python解释器spython使用及原理解析
2019/08/24 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
趣味游戏活动方案
2014/02/07 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
反对四风自我剖析材料
2014/10/07 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
租房协议书范例
2014/10/14 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
经营目标责任书
2015/05/08 职场文书