的Python - UDP客户端
问题描述:
我目前正在读一个Python book和整个下面的例子来:的Python - UDP客户端
import socket
target_host = "127.0.0.1"
target_port = 80
# create a socket object
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# send some data
client.sendto("AAABBBCCC",(target_host,target_port))
# receive some data
data, addr = client.recvfrom(4096)
print data
如果我的理解是正确的,我建立一个监听UDP的我自己的环回IP地址港口80.我的问题是,它有什么好处,以及如何“测试”它? (这意味着我怎样才能读取发送的“AAABBBCCC”)?
感谢
答
你需要运行一个服务器来听你的发件人发送到端口上。 有一个很好的解释here。
你一个很好的例子是(根据上面的链接):
import socket
UDP_IP = "127.0.0.1"
UDP_PORT = 80
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024) #buffer of 1024 bytes
print "received message: ", data
您需要先运行服务器,因此它开始收听,比单独运行客户端。
这只是一个客户端。您将需要构建一个服务器来收听并发回它收到的任何内容。然后,您将通过“打印数据”看到“AAABBBCCC”。顺便说一下,默认情况下,客户端被设置为阻塞模式,因此recvfrom将挂起,直到它从服务器接收到某些东西。 – ToonZ