我正在尝试使用python从TCP / IP端口读取数据。您可以从下面的TCPView截图中看到数据正在从应用程序成功流出,但我从下面的代码中得不到任何结果(我得到第一个打印输出,然后只是一个闪烁的光标)。
import socket
TCP_IP = "127.0.0.1"
TCP_PORT = 31003
BUFFER_SIZE = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect((TCP_IP, TCP_PORT))
print("connected: ", s)
data = s.recv(BUFFER_SIZE)
s.close()
print("received data: ", data)
该行
print("connected: ", s)
这表示数据输出到本地端口60840,而不是由TCPView指示的本地端口61893。更改脚本以侦听在TCPView中命名的本地端口无效。
答案 0 :(得分:2)
当您需要流(TCP)套接字时,您正在使用数据报(UDP)套接字。 而不是:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
你应该有这个:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)