102 基于UDP协议的socket套接字

Posted xichenhome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了102 基于UDP协议的socket套接字相关的知识,希望对你有一定的参考价值。

一、基于UDP协议的socket套接字编程

socket套接字包括使用TCP协议和UDP协议进行通讯

1.1 用法

socket指定使用UDP通讯协议server = socket.socket(socket.AF_INET, type=socket.SOCK_DGRAM)

发送udp数据server.sendto(发送数据)

接收udp数据data, addr = server.recvfrom(1024)

1.2 udp协议的特点

  1. 可以发空数据(数据报协议,有头)
  2. 不需要建连接
  3. 不会粘包
  4. 不可靠(客户端,服务器谁断开都不受影响)

1.3 实例

服务端

HOST = "127.0.0.1"
POST = 8080

if __name__ == '__main__':
    # udp服务器
    server = socket.socket(socket.AF_INET, type=socket.SOCK_DGRAM)  # 指定udp协议进行通讯。
    server.bind((HOST,POST))
    while 1:
        data, addr = server.recvfrom(1024)
        print(data.upper().decode("utf8"))
        server.sendto(data.upper(),addr)

客户端

HOST = "127.0.0.1"
POST = 8080

if __name__ == '__main__':
    # udp客户端
    client = socket.socket(socket.AF_INET, type=socket.SOCK_DGRAM) # 指定udp协议进行通讯。
    while 1:
        msg = input("请输入>>:")
        # 直接发
        client.sendto(msg.encode("utf8"),(HOST,POST))
        data=client.recvfrom(1024)[0]   # 是个元祖
        print(data.decode("utf8"))

以上是关于102 基于UDP协议的socket套接字的主要内容,如果未能解决你的问题,请参考以下文章

基于UDP协议的socket套接字编程 基于socketserver实现并发的socket编程

socket 套接字编程

网络编程[第二篇]基于udp协议的套接字编程

基于udp协议通信的套接字

82.基于tcp和udp协议的简单通信套接字编程

网络协议趣谈基于TCP和UDP的套接字Socket编程