Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-UDP客户端_Python_Sockets_Udp - Fatal编程技术网

Python-UDP客户端

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

我目前正在阅读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 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