Python - UDP 客户端

Python - UDP client

我目前正在阅读 Python book 并遇到了以下示例:

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 地址构建一个侦听器。我的问题是,它有什么用处以及我如何 "test" 它? (意思是我怎样才能阅读发送的 "AAABBBCCC")?

谢谢

您需要 运行 一台服务器来侦听您的发件人发送到的端口。 有一个很好的解释here

一个很好的例子是(基于以上link):

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

您需要先 运行 服务器,以便它开始侦听,然后再 运行 您的客户端。

如果您只想验证原始服务器是否正常工作并且不需要目标服务器在 python 中,netcat 可以从命令行非常简洁地完成此操作。

nc -ul 80