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

 更新时间:2019年11月15日 11:14:30   作者:独听钟声晚  
这篇文章主要介绍了Python实现基于socket的udp传输与接收功能,结合实例形式详细分析了Python使用socket进行udp文件传输与接收相关操作技巧及注意事项,需要的朋友可以参考下

本文实例讲述了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()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三.接收数据流程

  • 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()

运行此程序
在这里插入图片描述

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

发送三次“你好”
在这里插入图片描述

发送三次“hello”
在这里插入图片描述

回到pycharm查看信息
在这里插入图片描述

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

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

相关文章

  • python config文件的读写操作示例

    python config文件的读写操作示例

    这篇文章主要介绍了python config文件的读写操作,结合简单示例形式分析了Python针对config文件的设置、读取、写入相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • 解决pandas无法在pycharm中使用plot()方法显示图像的问题

    解决pandas无法在pycharm中使用plot()方法显示图像的问题

    今天小编就为大家分享一篇解决pandas无法在pycharm中使用plot()方法显示图像的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python之ReportLab绘制条形码和二维码的实例

    Python之ReportLab绘制条形码和二维码的实例

    下面小编就为大家分享一篇Python之ReportLab绘制条形码和二维码的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 基于Python开发网络速度监控工具

    基于Python开发网络速度监控工具

    这篇文章主要为大家详细介绍了如何基于 PyQt5 框架开发一个实时网络速度监控工具,能够显示当前设备的上传和下载速度,感兴趣的小伙伴可以了解下
    2025-01-01
  • Python中的pandas表格模块、文件模块和数据库模块

    Python中的pandas表格模块、文件模块和数据库模块

    这篇文章介绍了Python中的pandas表格模块、文件模块和数据库模块,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Django用户认证系统如何实现自定义

    Django用户认证系统如何实现自定义

    这篇文章主要介绍了Django用户认证系统如何实现自定义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python 实现RSA加解密文本文件

    Python 实现RSA加解密文本文件

    这篇文章主要介绍了Python 实现RSA加解密文本文件的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python获取Pandas列名的几种方法

    python获取Pandas列名的几种方法

    这篇文章主要介绍了python获取Pandas列名的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • python排序函数sort()与sorted()的区别

    python排序函数sort()与sorted()的区别

    这篇文章主要介绍了python排序函数sort()与sorted()的区别,需要的朋友可以参考下
    2018-09-09
  • TensorFlow tensor的拼接实例

    TensorFlow tensor的拼接实例

    今天小编就为大家分享一篇TensorFlow tensor的拼接实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论