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中嵌套字典的访问与操作

    浅析Python中嵌套字典的访问与操作

    在Python编程中,嵌套字典是一种常见的数据结构,它可以以层次结构的方式组织和存储数据,本文将详细介绍如何在Python中访问和操作嵌套字典,需要的可以参考下
    2024-02-02
  • python实现的一个p2p文件传输实例

    python实现的一个p2p文件传输实例

    这篇文章主要介绍了python实现的一个p2p文件传输实例,文中用来解决多台服务器维护文件同步问题,需要的朋友可以参考下
    2014-06-06
  • pytest中fixture函数使用

    pytest中fixture函数使用

    本文主要介绍了pytest中fixture函数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python鼠标绘图附代码

    python鼠标绘图附代码

    这篇文章主要为大家介绍了python鼠标绘图的实现完整示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 详解Python是如何实现issubclass的

    详解Python是如何实现issubclass的

    这篇文章主要介绍了详解Python是如何实现issubclass的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python如何操作docker redis过程解析

    Python如何操作docker redis过程解析

    这篇文章主要介绍了Python如何操作docker redis过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 在Python中使用mechanize模块模拟浏览器功能

    在Python中使用mechanize模块模拟浏览器功能

    这篇文章主要介绍了在Python中使用mechanize模块模拟浏览器功能,包括使用cookie和设置代理等功能的实现,需要的朋友可以参考下
    2015-05-05
  • Python实现滑雪小游戏

    Python实现滑雪小游戏

    这篇文章主要为大家详细介绍了Python实现滑雪小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • python中实现词云图的示例

    python中实现词云图的示例

    这篇文章主要介绍了python中实现词云图的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • Python使用turtle库绘制小猪佩奇(实例代码)

    Python使用turtle库绘制小猪佩奇(实例代码)

    这篇文章主要介绍了Python使用turtle库绘制小猪佩奇,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01

最新评论