Python網絡編程之UDP

UDP

  • TCP是建立可靠的連接,並且通信雙方都可以以流的形式發送數據。
  • 相對於TCPUDP則是面向無連接的協議
  • 使用UDP協議時,不需要建立連接,只需要知道對方的IP地址和端口號,就可以直接發送數據包。但是能不能到達就不知道了。
  • 雖然UDP傳輸數據不可靠,但他的優點是和TCP比,速度快,對於要求不高的數據可以是用UDP

下面進行實例
server.py

import socket

"""創建一個socket
AF_INET是指IPv4,AF_INET6是指IPv6,我們這裏選IPv4就行了
SOCK_STREAM是指TCP,SOCK_DGRAM是指UDP"""
udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

"""綁定一個IP和端口,注意,這裏是元組"""
udp.bind(('192.168.56.1', 8080))

while True:
    """循環的接收消息,一次接收1024個字節,recvfrom是接收"""
    data, addr = udp.recvfrom(1024)
    # 解碼
    print("msg:", data.decode("utf-8"))

client.py

import socket

"""創建一個socket對象"""
udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

while True:
    data = input("請輸入您要廣播的話:")
    """編碼,後面第二個參數是元組,IP和端口"""
    udp.sendto(data.encode("utf-8"), ('192.168.56.1', 8080))

運行結果:
在這裏插入圖片描述

如果有錯誤或者有疑問,請私信我喔,感謝觀看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章