Я пытаюсь одновременно прослушивать и отправлять данные в несколько сокетов. Когда я запускаю программу, я получаю ан ошибке говоря:Запуск нескольких сокетов одновременно в python
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/ssl.py", line 704, in __init__
if sock.getsockopt(SOL_SOCKET, SO_TYPE) != SOCK_STREAM:
OSError: [Errno 9] Descriptor несовместимый файл
Первое гнездо начинается правильно, но когда я пытаюсь начать новую я получаю ошибка.
class bot:
def __init__(self, host, port):
self.host = host
self.port = port
sock = socket.socket()
s = None
def connect_to_server(self):
self.s = ssl.wrap_socket(self.sock)
self.s.connect((self.host, self.port))
Выше класса, а затем я запускаю несколько экземпляров.
def run_bots(bots):
for bot in bots:
try:
threading.Thread(target=bot.connect_to_server()).start()
except:
print(bot.host)
print("Error: unable to start thread")
bots = []
b = bot('hostname.com', 1234)
b1 = bot('hostname1.com', 1234)
bots.append(b)
bots.append(b1)
run_bots(bots)
Я не знаю, что делать. У кого-нибудь есть идея, что может быть проблемой?
Но не создаю новый, когда создаю новый экземпляр класса ботов? – Marius
Это работает. благодаря :) – Marius