カスタム Python サーバーからユーザーを強制的に切断しようとすると、クラッシュ エラーが発生しました。私は asyncore と asynchat クラスを使用しています。
しかし、このように強制的に切断したい場合
asynchat.async_chat.close (self)
このエラーが発生しました:
asyncore.loop()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 216, in loop
poll_fun(timeout, map)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 145, in poll
r, w, e = select.select(r, w, e, timeout)
select.error: (9, 'Bad file descriptor')
ただし、Python Mac のみ。Windowsでは問題ありません...
asyncore.py クラスのコード ソースに execption があります。しかし、サーバーがクラッシュしています。
try:
r, w, e = select.select(r, w, e, timeout)
except select.error, err:
if err.args[0] != EINTR:
raise
else:
return
とても奇妙...