socketio客户端无法加载

时间:2015-09-24 09:46:23

标签: python-2.7 flask websocket

我目前正在构建一个使用websockets的烧瓶应用程序。为此,我想使用flask-socketio库。我已将客户端示例复制为per the docs instructions

<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js"></script>
<script type="text/javascript" charset="utf-8">
    var socket = io.connect('http://' + document.domain + ':' + location.port);
    socket.on('connect', function() {
        socket.emit('hello', {data: 'Hello there!'});
    });
</script>

和一个简单的服务器端处理程序:

@socketio.on('hello')
def handle_hello(message):
    print message

然而我在borwserwindow控制台中收到以下错误:

Uncaught TypeError: Cannot read the property 'onClose' of null.

有人知道我在这里做错了吗?

3 个答案:

答案 0 :(得分:1)

多数民众赞成你在客户端应用程序中为socket.io获取了错误的javascipt文件。 改变

<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js"></script>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.6/socket.io.js">

答案 1 :(得分:0)

我遇到了同样的问题。 原因是与python模块不兼容。 您可以尝试安装这些版本。

GEVENT-1.1b1
greenlet-0.4.9
Flask-SocketIO-0.6.0

这对我有用。

答案 2 :(得分:0)

我遇到同样的问题,当我将版本从0.9.16更改为1.3.6时,它对我有用。

<script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script>