赞
赏
使用 UDP 协议时,不需要建立连接,只需要知道对方的 IP 地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。
虽然用 UDP 传输数据不可靠,但它的优点是和 TCP 比,速度快,对于不要求可靠到达的数据,就可以使用 UDP 协议。
Python UdpServer 编程的步骤可以总结为:定义通信的地址和端口、创建通信的 socket、使用 bind 函数绑定地址和端口信息、使用 socket 读取数据以及使用 socket 发送数据。
实现 UdpServer
import socket
print("嗨客网(www.haicoder.net)")
host = "127.0.0.1"
port = 8080
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((host, port))
print("udp server start on port:", port)
while True:
data, addr = sock.recvfrom(1024)
print("Receive data = %s" % data)
if data == b"exit":
sock.sendto(b"Goodbye!\n", addr)
continue
sock.sendto(b"Hello %s!\n" % data, addr)
我们首先定义了两个 变量,一个 string 类型的通信地址 host,一个 int 类型的通信端口 port,接着,我们使用 socket 函数 并指定使用 AF_INET 协议族以及使用 UDP 协议创建了一个 socket 文件。
接着,我们使用 socket 对象调用 bind 方法,绑定我们要通信的地址和端口。最后,我们就可以使用 while 循环 不停的接受与发送数据了。
Python UdpServer 编程的步骤可以总结为:定义通信的地址和端口、创建通信的 socket、使用 bind 函数绑定地址和端口信息、使用 socket 读取数据以及使用 socket 发送数据。