Ошибка 61: ошибка отказа в соединении при попытке подключения к серверу Python.Python

Программы на Python
Ответить
Anonymous
 Ошибка 61: ошибка отказа в соединении при попытке подключения к серверу Python.

Сообщение Anonymous »

Недавно я пытался поэкспериментировать с созданием простых многопользовательских онлайн-игр с помощью модуля сокетов Python. Я сделал первый черновик серверной и клиентской программы, и хотя они отлично работают, когда я запускаю их обе с одного компьютера, мои попытки подключить клиент при запуске на другом компьютере приводят к следующему сообщению об ошибке:

Код: Выделить всё

Traceback (most recent call last):
File "/Users/Admins2-Admins_In_Space/Downloads/gameclient.py", line 22, in 
client.connect((host,port))
ConnectionRefusedError: [Errno 61] Connection refused
(оба компьютера подключены к одному и тому же маршрутизатору, поэтому проблем здесь нет.) Код сервера:

Код: Выделить всё

import socket, threading

class dataBase():
"A class to store all playerdata"
def __init__(self):
self.data = []

class client():
"handles an individual client"

def __init__(self,ip,port,value,dataBase):
self.mainThread = threading.Thread(None,self.run)
self.ip = ip
self.port = port
self.value = value
self.dataBase = dataBase
print('New connection with' + ip)
self.mainThread.start()

def run(self):
while True:
data = conn.recv(1024).decode()
if data != None:
exec('data = ' + data)
self.dataBase[self.value] = data
data = self.dataBase
message = []
for d in range(len(data)):
if d == value:
continue
message.append(data[d])
if message != []:
conn.send(str(message).encode())
else:
self.conn.close()
break

if __name__ == '__main__':
data = []
host = '127.0.0.1'
port = 1234
value = 0
threads = []

sock = socket.socket()
sock.bind((host,port))

while True:
sock.listen(5)
(conn,(ip,port)) = sock.accept()
newThread = client(ip,port,value,data)
data.append(())
threads.append(newThread)
value += 1

for t in threads:
t.join()
а вот клиент, до строки 22

Код: Выделить всё

import pygame, socket, sys
from pygame.locals import *

host = '127.0.0.1'
port = 1234

up = False
down = False
left = False
right = False
x = 0
y = 0
data = None

if __name__ == '__main__':

pygame.init()
window = pygame.display.set_mode((1250,1000), 0, 32)
pygame.display.set_caption('client test')

client = socket.socket()
client.connect((host,port))
Я запускал сервер на Raspberry Pi 3 модели b с последней версией raspbian, и неудачные клиентские тесты выполнялись на различных компьютерах Mac.

Подробнее здесь: https://stackoverflow.com/questions/571 ... hon-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»