美文网首页
Python UDP编程

Python UDP编程

作者: Recalcitrant | 来源:发表于2019-07-07 10:09 被阅读0次

Python网络编程之UDP

一、Socket

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 建立网络通信连接至少需要两端(socket)。socket本质是编程接口(API),是对TCP/IP或UDP/IP协议的封装,TCP/IP或UDP/IP协议也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。

二、UDP协议

UDP(user datagram protocol)的中文叫用户数据报协议,属于传输层。
UDP是面向非连接的协议,它不与对方建立连接,而是直接把我要发的数据报发给对方。所以UDP适用于一次传输数据量很少、对可靠性要求不高的或对实时性要求高的应用场景。

  • udp通信中,服务器客户端通信流程:



    udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可。

三、UDP控制台消息传输示例

服务器端:

from socket import *
from time import ctime

HOST = ''
PORT = 8888
BUFSIZ = 1024
ADDRESS = (HOST, PORT)

udpServerSocket = socket(AF_INET, SOCK_DGRAM)
udpServerSocket.bind(ADDRESS)      # 绑定客户端口和地址

while True:
    print("waiting for message...")
    data, addr = udpServerSocket.recvfrom(BUFSIZ)
    print("接收到数据:", data.decode('utf-8'))

    content = '[%s] %s' % (bytes(ctime(), 'utf-8'), data.decode('utf-8'))
    udpServerSocket.sendto(content.encode('utf-8'), addr)
    print('...received from and returned to:', addr)

udpServerSocket.close()

客户端:

from socket import *

HOST = '127.0.0.1'
PORT = 8888
BUFSIZ = 1024
ADDRESS = (HOST, PORT)

udpClientSocket = socket(AF_INET, SOCK_DGRAM)

while True:
    data = input('>')
    if not data:
        break

    # 发送数据
    udpClientSocket.sendto(data.encode('utf-8'), ADDRESS)
    # 接收数据
    data, ADDR = udpClientSocket.recvfrom(BUFSIZ)
    if not data:
        break
    print("服务器端响应:", data.decode('utf-8'))

udpClientSocket.close()

相关文章

  • tcp和udp

    【Python网络编程】利用Python进行TCP、UDP套接字编程 http://www.cnblogs.com...

  • Python UDP编程

    1. UDP UDP,用户数据报传输协议,它位于TCP/IP协议的传输层,是一种无连接的协议,它发送的报文不能确定...

  • Python UDP编程

    Python网络编程之UDP 一、Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一...

  • Python编程笔记 - 基于udp协议的聊天小程序

    Python编程笔记 - 基于udp协议的聊天小程序 一、需求说明 基于udp协议的聊天小程序: 输入发送方的ip...

  • python 网络编程(udp)

    什么是UDP:UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组...

  • python 网络编程之UDP编程

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

  • 30.3. 企业级开发进阶2.3:UDP编程

    ** 本节内容如下** 什么是UDP协议 UDP网络编程——服务端程序开发 UDP网络编程——客户端程序开发 1....

  • Python 网络编程基础入门

    Python的网络编程主要支持两种网络协议:TCP和UDP。这两种协议都通过叫Socket的编程抽象进行处理。So...

  • Python入门系列(十)——网络

    目录:一、TCP编程二、UDP编程 Python 提供了两个级别访问的网络服务:低级别的网络服务支持基本的 Soc...

  • Python网络编程 —— IP、UDP

    Python网络编程 —— IP、UDP IP ip地址: 在网络中标识一台唯一的设备 ip地址的作用: 通过ip...

网友评论

      本文标题:Python UDP编程

      本文链接:https://www.haomeiwen.com/subject/xtovhctx.html