我很確定我的根本問題是由我們的網絡管理的防病毒應用程序,但是我用Python編寫的基本套接字客戶端直到很久以前纔開始工作,錯誤10013「。我在JAVA中也有SocketTest應用程序。 SocketTest可以工作,但是我一直沒能成功連接Python。 WIN 7 PC有兩個網卡,沒有橋接。我打開和關閉了防火牆。如果我禁用到公司LAN的連接,那麼Python客戶端很高興。僅僅重申,這種配置工作了幾個月。 我找不到差異。下面是示例代碼:JAVA與Python Socket默認值
的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連接請求。 禁用企業局域網後,我比較了JAVA客戶端和Python客戶端之間的連接請求,它們包含除本地端口外的相同數據。
大多數防火牆工具可以允許一個程序,但不允許另一個訪問網絡。這很可能是諸如設置你的代碼用於工作。 –
Wireshark可以解救你。觀察請求,迴應。你必須這樣做。沒有替代。現在就做或稍後再做。 Wireshark [或任何類似的工具:|] – Prasanth
值得檢查一下機器的IP地址是否等於'MY_IP' –