我有三臺機器連接到沒有互聯網的集線器,我試圖使用一個代碼,像在Python 3.3中的聊天服務。但是,當我運行發送代碼時,它停滯在偵聽連接...並且當我啓動另一臺機器上的第二個程序來接收它時,會出現以下錯誤消息:這個蟒蛇聊天程序有一些小故障
回溯(最近一次調用最後一次): 文件「C:\ Python33 \ recv.py」,第5行,在 s.connect((主機,端口)) TimeoutError:[WinError 10060]連接嘗試失敗,因爲連接方在一段時間後沒有正確響應的時間,或建立的連接失敗,因爲連接的主機未能響應。
這是第一個代碼發送消息:
host = "127.0.0.1"
port = 4446
from socket import^
s = socket(AF_INET, SOCK_STREAM)
s.bind((host,port))
s.listen(1)
print("listening for connections...")
q,addr = s.accept()
data = input("Data to be sent: ")
q.send(data)
s.close()
這裏是第二碼接收:
host = "86.10.137.206"
port = 4446
from socket import *
s = socket(AF_INET, SOCK_STREAM)
s.connect((host,port))
msg = s.recv(1024)
print("This is the message:",msg)
s.close()
可以做些什麼來解決這個問題。是否與127.0.0.1
主機在每個程序中表示不同的內容。在第一個程序中,您將套接字綁定到主機IP。在第二個中,您嘗試連接到「主機」IP。第二個程序中的「host」是第一個程序的IP嗎? – rlms
對不起,我不明白你的意思。您是否建議127.0.0.1對於主機是正確的,但接收功能應該與物理筆記本電腦IP一起運行? –
是的,「127.0.0.1」的意思是「這臺電腦的IP」。第二個程序需要在計算機上運行第一個程序在IP上運行。 – rlms