我的脚本在计算机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分钟,但我得到了同样的错误。
答案 0 :(得分:0)
问题在于启动服务器和客户端之间的时间不匹配。实际上,它需要很少的时间来启动服务器,同时客户端请求连接。所以我在启动客户端之前延迟了2秒,问题解决了。