11.2.3.2 回送客户
UDP回送客户与服务器类似,但是不使用bind()将套接字关联到一个地址。它使用sendto()将消息直接传送到服务器,并使用recvfrom()接收响应。
import socket
import sys
# Create a UDP socket.
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
server_address = ('localhost',10000)
message = b'This is the message. It will be repeated.'
try:
# Send data.
print('sending {!r}'.format(message))
sent = sock.sendto(message,server_address)
# Receive response.
print('waiting to receive')
data,server = sock.recvfrom(4096)
print('received {!r}'.format(data))
finally:
print('closing socket')
sock.close()
11.2.3.3 客户与服务器
运行这个服务器会生成以下输出:
客户输出如下: