Python-UDP客户端
我目前正在阅读Python,遇到了以下示例:Python-UDP客户端,python,sockets,udp,Python,Sockets,Udp,我目前正在阅读Python,遇到了以下示例: 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
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端口80上为自己的环回IP地址构建一个侦听器。我的问题是,它有什么好处?我如何“测试”它?(意思是如何阅读发送的“aaabbccc”)
谢谢您需要运行一台服务器来监听您的发件人发送到的端口。 这是一个很好的解释 一个很好的例子是(基于上述链接):
您需要首先运行服务器,以便它开始侦听,然后单独运行客户端 这只是一个客户。您需要构建一个服务器来监听并发回它接收到的任何内容。然后,您将通过“打印数据”看到“AAABBBCCC”。顺便说一句,客户端默认设置为阻塞模式,因此recvfrom将一直挂起,直到它从服务器接收到某些内容。我正在阅读同一本书,但我不明白上面的代码为什么不能单独工作。如果我们不运行服务器并将数据发送到环回本地主机,我们是否应该立即接收发送的数据?
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