簡體   English   中英

python套接字(流)中的連接拒絕錯誤?

[英]Connection refused error in python socket (stream)?

我的腳本正在一台計算機1中啟動多個客戶端,並嘗試連接到特定端口上在不同計算機上運行的服務器。 這些運行服務器的計算機由boto3啟動,然后等待5分鍾以使實例處於運行狀態。 然后建立sftp連接以傳輸文件。 然后通過ssh執行服務器腳本。 然后,當在machine-1中啟動多個客戶端並嘗試連接到服務器時,只有一個連接建立,而其他連接拒絕連接錯誤ConnectionRefusedError

這是我的代碼:

客戶:

def Client(datas):
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect((datas[0], 81))
    datasent =''+datas[1]+'-'+datas[2]+'#'
    client.send(datasent.encode("UTF-8"))
for dataToRun in dataForMP:
    hp = Process(target=Client, args=(dataToRun,))
    hp.start()
hp.join()

服務器:

if __name__ == '__main__':
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    sock.setblocking(0)
    sock.bind(("", 81))
    sock.listen(128)

我正在為服務器啟動t1.micro實例。 啟動實例后,我還等待了10分鍾,然后再啟動客戶端和服務器,但我遇到了同樣的錯誤。

問題是有關啟動服務器和客戶端之間的時間不匹配。 實際上,啟動服務器所需的時間很少,與此同時,客戶端請求連接。 因此,在啟動客戶端之前,我延遲了2秒,問題得以解決。

暫無
暫無

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

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