3

我很确定我的根本问题是由我们的网络管理的防病毒应用程序,但是我用 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 客户端之间的连接请求,它们包含相同的数据,当然本地端口除外。

4

1 回答 1

0

我最近在 Windows 7 上的套接字绑定和多个 NIC 方面遇到了很多困难。

我通常是一个 unix 人,但我不得不为朋友做一些 C#.Net 作为一个忙..

我的问题是我无法将套接字绑定到客户端的特定端口和 ip。解决方案是增加我想要绑定的 NIC 的“绑定优先级”。我对Windows不太了解,所以我无法详细说明。阅读这篇文章以获取一些信息,它对我有帮助:Windows 7 中的网络适配器卡优先级绑定顺序

不确定您是否遇到同样的问题,因为套接字错误 10013 似乎与权限相关。谷歌给了我这个:处理套接字错误 10013

于 2012-10-03T12:11:39.043 回答