在 python 中使用 udp 客户端接收来自 127.0.0.1 的响应时出现问题

2 python udp

我正在阅读《Black Hat Python》一书,并且在端口 80 上与 127.0.0.1 的 UDP 连接遇到问题。我对这些东西相当陌生,所以我不能简单地坐下来快速排除故障有效,所以我希望有人能够指出错误,或者也许这只是我的设置。我正在使用 VMware Fusion 在 Kali VM 中对此进行测试。套接字保持打开状态并等待响应,但从未收到响应。

import socket

target_host = "127.0.0.1"
taget_port = 80

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.sendto("AAABBBCCC", (target_host, taget_port))

data, addr = client.recvfrom(4096)

print data
Run Code Online (Sandbox Code Playgroud)

Rob*_*obᵩ 5

让客户端和服务器存在于同一线程中的架构非常不寻常。我不会推荐它。

.bind()尽管如此,如果您将套接字连接到目标地址,您的程序将按照您想要的方式工作:

import socket

target_host = "127.0.0.1"
target_port = 8000

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.bind((target_host, target_port))
client.sendto("AAABBBCCC", (target_host, target_port))

data, addr = client.recvfrom(4096)

print data
Run Code Online (Sandbox Code Playgroud)