1

我使用 ws4py 作为 websocket 服务器。它可以在 Windows 和 Mac 上正常运行,但在 linux 系统中运行时 websocket 客户端连接到服务器时会产生 TB。任何人都可以告诉我如何修复这个错误?

[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 回答