返回顶部
首页 > 资讯 > 后端开发 > Python >Python 14.3 UDP编程
  • 550
分享到

Python 14.3 UDP编程

PythonUDP 2023-01-31 01:01:54 550人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

UDP编程tcp是建立可靠连接,并且通信双方都可以以流的方式的发送数据。相对TCP,UDP则是面向无连接的协议。使用UDP时不需要建立连接,只需要知道对方的IP地址和端口号。就可以直接发送数据包。但是能不能到达就不知道了。虽然UDP传输数据

UDP编程

tcp是建立可靠连接,并且通信双方都可以以流的方式的发送数据。相对TCP,UDP则是面向无连接的协议。

使用UDP时不需要建立连接,只需要知道对方的IP地址和端口号。就可以直接发送数据包。但是能不能到达就不知道了。

虽然UDP传输数据不可靠,但是它的优点是和TCP相比速度快,对于不要求可靠到达的数据,就可以使用UDP。

我们看看如何通过UDP协议传输数据。和TCP类似,使用UDP的通信双方也分为客户端和服务器。服务器首先绑定端口:
s =Socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

s.band(('127.0.0.1',9999))

创建Socket时,SOCK_DGRAM指定了这个Socket类型是UDP。绑定端口和UDP一样,但是不需要调用listen()方法,而是直接接收来自任何客户端的数据:
print('bind UDP on 9999...')

while True:

    data,addr =s.recvfrom(1024)

    print('Received from %s : %s' % addr)

    s.sendto(b'Hello,%s !', % data,addr)

recvfrom()方法返回数据和客户端的IP地址和端口,这样,服务器收到数据后,直接调用sendto()就可以用UDP发送给客户端。

注意这里省掉了多线程,因为这个例子很简单。客户端使用UDP时,首先创建基于UDP的Socket,然后不需要调用connect(),直接通过sendto()发送给服务器:
s =socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

from data in [b'Michael',b'Bob']:

    s.sendto(data,('127.0.0.1',9999))

    print(recvfrom(1024).decode('utf-8'))

s.close()

从服务器接收数据仍使用recv()方法。

仍然使用两个客户点测试,结果如下:

wKioL1ayELeR_ubqAABFTxZ5eGk121.png


小结:
UDP的使用与TCP类似,但是不需要建立连接。此外,UDP绑定端口和TCP端口并不冲突,也就是说UDP的端口9999与TCP的端口9999可以各自绑定。



--结束END--

本文标题: Python 14.3 UDP编程

本文链接: https://lsjlt.com/news/184522.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 14.3 UDP编程
    UDP编程TCP是建立可靠连接,并且通信双方都可以以流的方式的发送数据。相对TCP,UDP则是面向无连接的协议。使用UDP时不需要建立连接,只需要知道对方的IP地址和端口号。就可以直接发送数据包。但是能不能到达就不知道了。虽然UDP传输数据...
    99+
    2023-01-31
    Python UDP
  • 网络编程—udp
    一、ip地址 1. 什么是地址 地址就是用来标记地点的   2. ip地址的作用 ip地址:用来在网络中标记一台电脑,比如192.168.1.1;在本地局域网上是唯一的。   3. ip地址的分类 每一个IP地址包括两部分:网络地址和主机...
    99+
    2023-01-31
    网络编程 udp
  • android的UDP编程实例
    一、有的手机不能直接接收UDP包,可能是手机厂商在定制Rom的时候把这个功能给关掉了。1、可先在oncreate()方法里面实例化一个WifiManager.Multicast...
    99+
    2022-06-06
    udp Android
  • python3--socket编程(udp协议)
    基于UDP协议的socketudp是无连接的,启动服务之后可以直接接受消息,不需要提前建立连接,UDP必须是server端先接受消息简单版server端代码import socket # 创建一个服务器的套接字基于ud...
    99+
    2023-01-30
    协议 socket udp
  • python中UDP编程指的是什么意思
    这篇文章给大家分享的是有关python中UDP编程指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、...
    99+
    2023-06-14
  • Java网络编程 - UDP通信
    文章目录 UDP通信快速入门一发一收多发多收广播组播 UDP通信 快速入门 UDP协议的特点: UDP是一种无连接、不可靠传输的协议。 将数据源IP、目的地IP和端口以及数据封装成数据包,大小限制在64KB内,直...
    99+
    2023-08-30
    java 网络 udp
  • udp编程的示例分析
    小编给大家分享一下udp编程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是UDPUDP是User Datagram Protocol(用户数据报协...
    99+
    2023-06-27
  • PHP入门指南:UDP编程
    PHP是一门十分流行的Web编程语言,早期更被大家认为是一种简单易学的脚本语言。然而,由于其流行度,在过去几年中,它已经成长为一门成熟的编程语言,可以实现各种任务和项目。而在这门语言中,UDP编程是一个十分重要和有趣的主题。UDP(User...
    99+
    2023-05-20
    编程 PHP UDP
  • JavaSocket实现UDP编程浅析
    目录一、概述二、服务器端三、客户端四、总结一、概述 在 Java 中使用 UDP 编程,仍然需要使用 Socket ,因为应用程序在使用 UDP 时必须指定网络接口 ( IP地址 )...
    99+
    2022-11-13
    Java UDP编程 Java UDP Java Socket UDP
  • 怎么在python中利用UDP编程实现通信
    今天就跟大家聊聊有关怎么在python中利用UDP编程实现通信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、...
    99+
    2023-06-14
  • linux系统下udp编程实例
    以下是一个简单的UDP编程实例,用于在Linux系统上发送和接收UDP数据包。```c#include #include #incl...
    99+
    2023-09-20
    Linux
  • Java Socket如何实现UDP编程
    这篇文章主要讲解了“Java Socket如何实现UDP编程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java Socket如何实现UDP编程”吧!一、概述在 Jav...
    99+
    2023-07-04
  • Java实现基于UDP协议的网络通信UDP编程
    目录UDP编程通信基本介绍基本流程UDP编程通信 基本介绍 类DatagramSocket和DatagramPacket【数据包/数据报】实现了基于UDP协议网络程序。UDP数据报通...
    99+
    2023-05-17
    Java UDP编程 Java UDP网络编程
  • Linux之UDP协议及其编程全流程
    目录UDP协议的特点UDP的编程流程UDP接口原型UDP服务器端UDP客户端UDP的报头结构UDP的优势UDP的数据报服务总结UDP协议的特点 UDP 不提供可靠性的传输,它只是把应用程序传给 IP 层的数据报发送出去,...
    99+
    2023-03-23
    Linux UDP协议 UDP编程流程 Linux UDP
  • C#中如何进行UDP编程补充
    这期内容当中小编将会给大家带来有关C#中如何进行UDP编程补充,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。下面就直接介绍实现过程和代码以及运行的结果。一、程序实现UDP广播程序的实现代码:using&n...
    99+
    2023-06-17
  • C++ Socket实现TCP与UDP网络编程
    目录前言TCP1). 服务器2). 客户端3). TCP聊天小项目UDP1). 服务器2). 客户端总结前言 socket编程分为TCP和UDP两个模块,其中TCP是可靠的、安全的,...
    99+
    2024-04-02
  • Linux之UDP协议及编程流程是什么
    这篇文章主要讲解了“Linux之UDP协议及编程流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux之UDP协议及编程流程是什么”吧!UDP协议的特点UDP 不提供可靠性的传输...
    99+
    2023-07-05
  • python udp 广播
    最近有需求写了个udp 广播的工具,百度了半天,发现满地坑,wireshark 抓了半天包,发现都是只能localhost收发。这里就记录一下吧 listener.py #!/usr/bin/env python # -*- codin...
    99+
    2023-01-31
    python udp
  • Python的Socket编程过程中实现UDP端口复用的实例分享
    关于端口复用 一个套接字不能同时绑定多个端口,如果客户端想绑定端口号,一定要调用发送信息函数之前绑定( bind )端口,因为在发送信息函数( sendto, 或 write ),系统会自动给当前网络程序分...
    99+
    2022-06-04
    端口 过程中 复用
  • Android编程实现简单的UDP Client实例
    本文实例讲述了Android编程实现简单的UDP Client。分享给大家供大家参考,具体如下: 该代码在4.2.2内调试通过 1.记得加权限 <uses-permis...
    99+
    2022-06-06
    udp Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作