1

ws4py を websocket サーバーとして使用しています。Windows と Mac では正常に実行できますが、Websocket クライアントがサーバーに接続するときに TB を発生させる Linux システムで実行されます。誰でもこのバグを修正する方法を教えてもらえますか?

[2016-01-06 20:51:43,094] ERROR Failed to receive data
Traceback (most recent call last):
File "/home/yzliu/airtest/env/local/lib/python2.7/site-packages/ws4py/websocket.py", line 300, in once
    b = self.sock.recv(self.reading_buffer_size)
File "/home/yzliu/airtest/env/local/lib/python2.7/site-packages/gevent/_socket2.py", line 264, in recv
    return sock.recv(*args)
File "/home/yzliu/airtest/env/local/lib/python2.7/site-packages/gevent/_socket2.py", line 73, in _dummy
raise error(EBADF, 'Bad file descriptor')
4

1 に答える 1

0

これは、ws4py のバグであり、gevent 1.1 で使用すると、WSGI ハンドラが戻るときに基になるソケットが閉じられるためです。

参照: https://github.com/Lawouach/WebSocket-for-Python/pull/180/files

于 2016-03-18T10:46:25.567 に答える