UDP
TCP
是建立可靠的連接,並且通信雙方都可以以流的形式發送數據。- 相對於
TCP
,UDP
則是面向無連接的協議 - 使用
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))
運行結果:
如果有錯誤或者有疑問,請私信我喔,感謝觀看