Я пытаюсь отправить сообщения от одной точки к другой, она работала некоторое время, а затем, когда я вернулся домой, не работает, и я получаю эту ошибку:ConnectionRefusedError: [WinError 10061] Соединение не может быть сделано, потому что целевая машина активно отказалась от этого
line 20, in connect
self.mySocket.connect((self.serverName, self.serverPort))
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
Код для этого ниже. Я даже пытался запустить его на Mac, и у меня были подобные ошибки.
Client
import socket
serverName = "my_IP_Address"
serverPort = 12000
class User:
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
def __init__(self):
self.serverName = serverName
self.serverPort = serverPort
def connect(self):
print("Trying to connect at " + str(self.serverName) + " on port " + str(self.serverPort))
self.mySocket.connect((self.serverName, self.serverPort))
def sendMessage(self, msg):
newS = msg.encode('utf-8')
self.mySocket.send(newS)
modifiedData = self.mySocket.recv(2048)
def closeSocket(self):
self.mySocket.close()
def listen(self):
self.mySocket.bind(('', self.serverPort))
self.mySocket.listen(1)
print("We are ready to receive data on port " + str(serverPort))
while (1):
print("** attempting ** ")
connectionSocket, addr = self.mySocket.accept()
rcvMsg = connectionSocket.recv(2048)
newMsg = "I have received: " + rcvMsg.decode('utf-8')
print(newMsg)
newMsg = newMsg.encode('utf-8')
connectionSocket.send(newMsg)
connectionSocket.close()
if (rcvMsg.decode('utf-8') == 'done'):
break
print("done listening")
def main():
userA = User()
userA.listen()
main()
Сервер
def main():
userA = User()
userA.connect()
msg = "Hello from the lab"
while(msg != "done"):
userA.sendMessage(msg)
msg = input("please type another message to send: ")
print("done transmitting messages")
main()
Любое направление было бы весьма признателен!
Windows .. да ....... – brunsgaard
'Никакое соединение не может быть сделано, потому что целевая машина активно отказалась от него, это звучит для меня, как если бы пакеты были отклонены .. Возможно, это межсетевой экран. – brunsgaard
Я исправил проблему с брандмауэром и изменил IP-адрес, и он работал для одного сообщения, но когда пользователю предлагается дать другое, все становится зависанием (а не сбой). – Dylan