102 基於UDP協議的socket套接字

1、基於UDP協議的socket套接字編程

socket套接字包括使用TCP協議和UDP協議進行通信編程

1.1 用法

socket指定使用UDP通信協議server = socket.socket(socket.AF_INET, type=socket.SOCK_DGRAM)服務器

發送udp數據server.sendto(發送數據)socket

接收udp數據data, addr = server.recvfrom(1024)code

1.2 udp協議的特色

  1. 能夠發空數據(數據報協議,有頭)
  2. 不須要建鏈接
  3. 不會粘包
  4. 不可靠(客戶端,服務器誰斷開都不受影響)

1.3 實例

服務端server

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)

客戶端input

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"))
相關文章
相關標籤/搜索