0
私はいくつかのソケットに同時にデータを受信して送信しようとしています。私はプログラムを実行すると、私はエラーアン得ると言って:複数のソケットを同時に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]不正なファイルディスクリプタ
最初のソケットが正常に起動し、私は新しいものを起動しようと一度私が取得エラー。
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