我很确定我的根本问题是由我们的网络管理的防病毒应用程序,但是我用 Python 编写的一个基本套接字客户端直到不久前还在工作,现在给我“套接字错误 10013”。我也有 JAVA 中的SocketTest应用程序。SocketTest 有效,但我未能成功让 Python 进行连接。WIN 7 PC 有两个网卡,没有桥接。我已经打开和关闭了防火墙。如果我禁用与公司 LAN 的连接,那么 Python 客户端会很高兴。重申一下,这种配置工作了几个月。我找不到区别。这是示例代码:
Python
MY_IP = '192.168.100.2'
MY_PORT = 62828
ROBOT_IP = "192.168.100.10"
ROBOT_SOCK = 29999
robotSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
robotSocket.bind((MY_IP, MY_PORT)) # Tried without binding
robotSocket.connect((ROBOT_IP, ROBOT_SOCK))
结果“套接字错误 10013”
爪哇:
socket = new Socket(ROBOT_IP, ROBOT_SOCK);
is = socket.getInputStream();
in = new BufferedInputStream(is);
while (!desonnected)
{
try
{
String got = readInputStream(in); // in.readLine();
这工作正常,但我找不到调整我的 Python 代码的区别。我确定是防毒墙网络版,但是....
编辑
我按照建议运行了 WireShark。启用两个网卡后,不会发送 Python 连接请求。禁用公司 LAN 后,我比较了 JAVA 客户端和 Python 客户端之间的连接请求,它们包含相同的数据,当然本地端口除外。