簡體   English   中英

sockets 上的連接超時

[英]Connection time out on sockets

今天是個好日子。 我仍在對此進行研究,所以如果我犯了任何錯誤,請原諒,我目前正在做一個需要 2 個設備之間的套接字連接的小項目,問題是,當我在同一台設備上使用客戶端和服務器時. 效果很好,但是當我將客戶端移動到不同的設備,然后再次啟動該過程(相同的 LAN 連接)時,它只是給了我time out error [WinError 10060] 這是我的代碼:

服務器端:

HOST = '10.0.0.32'
PORT = 44132
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((HOST, PORT))
server.listen()
client, address = server.accept()

客戶端:

HOST = '10.0.0.32'
PORT = 44132
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((HOST, PORT))

我嘗試禁用防火牆並重新啟動計算機,更改端口或嘗試簽入 cmd 如果服務器真的在偵聽,這里有什么我遺漏的嗎? 謝謝你。

完整的錯誤報告是: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

編輯:這也是我使用 netstat 監聽44132的端口:

Proto Local Address Foreign Address State

TCP 0.0.0.0:44132 0.0.0.0:* LISTENING

編輯2:我的另一個更新,我嘗試關閉目標機器上的防火牆並對其進行ping,現在ping成功,但客戶端和服務器仍然拒絕重新連接並繼續超時。 是不是我的兩台設備之間有另一個防火牆並由路由器實施以防止連接發生?

可能你使用了錯誤的 ip 地址,我的建議是使用命令arp -a檢查服務器的 ip 是否正確(如果你可以訪問路由器,你可以在那里檢查)。

此外,請注意,當您使用socket.gethostbyname(socket.gethostname())時,請查看此處Python socket.gethostname

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM