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 27 Python
Python socket网络编程TCP/IP服务器与客户端通信
Jan 05 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
答题辅助python代码实现
Jan 16 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
用python求一重积分和二重积分的例子
Dec 06 Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 Python
Python3 读取Word文件方式
Feb 13 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
May 17 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 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
php的hash算法介绍
2014/02/13 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
PHP内置加密函数详解
2016/11/20 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
js文字横向滚动特效
2015/11/11 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
JavaScript常用工具函数大全
2020/05/06 Javascript
python中子类继承父类的__init__方法实例
2016/12/15 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
书法培训心得体会
2014/01/05 职场文书
党支部换届选举方案
2014/05/08 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
JavaScript 实现页面滚动动画
2021/04/24 Javascript
python语言中pandas字符串分割str.split()函数
2022/08/05 Python