JAVA vs Python Socket默认值

时间:2012-10-03 11:27:54

标签: java sockets python-2.7

我很确定我的根问题是由我们的网络管理的防病毒应用程序,但我用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”

JAVA:

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客户端之间的连接请求,当然除了本地端口之外,它们包含相同的数据。

1 个答案:

答案 0 :(得分:0)

我最近在Windows 7上使用套接字绑定和多个NIC进行了大量工作。

我通常是一个unix家伙,但我不得不为朋友做一些C#.Net作为一个帮助..

我的问题是我无法将套接字绑定到客户端的特定端口和ip。解决方案是增加我想要绑定的NIC的“绑定优先级”。我对Windows不太了解,所以我无法详细说明。阅读这篇文章了解一些信息,它帮助了我:Network adapter card priority binding order in windows 7

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