さまざまな方法を使用して解決できることがわかっているかゆみの問題がありますが、Pythonで次のアプローチが可能かどうかを知りたいです。
常に入力を待っているソケットがあり、最終的にプログラム全体を終了させる条件があるとします。私が想像したように、select.selectを使用してBLOCKING方式でそれを行いたい:
readfds, writefds, errfds = select.select([mysocket],[],[])
if readfds:
conn, addr = mysocket.accept()
...
ここで、読み取りまたは書き込みのいずれかの準備完了状態に手動で設定できるファイル記述子 fd があれば、次のことができます。
readfds, writefds, errfds = select.select([mysocket,fd],[],[])
for r in readfds:
if r == mysocket:
conn, addr = mysocket.accept()
...
else:
<terminate>
もちろん、単純に mysocket にメッセージを送信してブロックを解除することはできますが、ファイル記述子を操作して準備完了状態にするプログラム的な方法があるかどうかを知りたいです。
編集:私の質問は:ファイル記述子を手動で「準備完了」に設定できますか?
皆さんありがとう。