2016-06-07 133 views
3

我目前正在读一个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”)?

感谢

+1

这只是一个客户端。您将需要构建一个服务器来收听并发回它收到的任何内容。然后,您将通过“打印数据”看到“AAABBBCCC”。顺便说一下,默认情况下,客户端被设置为阻塞模式,因此recvfrom将挂起,直到它从服务器接收到某些东西。 – ToonZ

回答

4

你需要运行一个服务器来听你的发件人发送到端口上。 有一个很好的解释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 

您需要先运行服务器,因此它开始收听,比单独运行客户端。