何らかの理由で、選択したソケットをソケットの辞書に一致させることができません。以下のコードは、誰かがacceptを接続するときにソケットの辞書を作成します(そうではありません)。これは、「L」に「S」見つかったが、その後はないsocket.error: [Errno 22] Invalid argument
選択したPythonソケット辞書
listening = {}
L = []
for link in links:
try:
# listening
listening[link] = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listening[link].bind((host, routers[routername].baseport+links[link].locallink))
listening[link].listen(backlog)
# append routes and listen-list
L.append(listening[link])
except socket.error, (value,message):
print "Could not open socket: " + message
sys.exit(1)
# run loop
input = L
running = 1
while running:
inputready,outputready,exceptready = select.select(input,[],[], 0)
# Sockets loop
for s in inputready:
if s in L:
# handle the server socket
client, address = s.accept()
input.append(client)
(あなたがとにかく欲しいもの
s
がある)しかし、唯一の選択他のデータ型で物事を複雑によりそうではなくリストを取り、リストに固執し、s
代わりのL
を参照...少し明確にすることはできますか? – Nate私は、具体的にどの部分を愛したいのですか、それともすべてを意味しますか? –
2番目と3番目の文の解析に問題があります。 – Nate