socket.io无限循环python / js连续数据

时间:2015-07-11 22:40:59

标签: javascript python sockets flask socket.io

我使用socket.io(烧瓶)

my frotend js:

    $(document).ready(function(){

        namespace = '/test'; 
        var socket = io.connect('http://' + document.domain + ':' + location.port + namespace);
        socket.on('connect', function() {
            socket.emit('my event', {data: 'I\'m connected!'});
            $('#status').append('connected');
        });
        function eye_pos() {
            socket.emit('eye', function (msg) {
                var tit = $('#tit')[0];
                console.log(msg);
                tit.style.display = 'block';
                tit.style.left = (msg['x']) + 'px';
                tit.style.top = (msg['y']) + 'px';
                });
        }
        while ($('#status').text() === 'connected'){
            eye_pos();
        }

我的后端python:

@socketio.on('connect', namespace='/test')
def test_connect():
    print('socet_connected')
    global tracker
    tracker = EyeTribe()
    tracker.connect()
    tracker.pushmode()

@socketio.on('eye', namespace='/test')
def test_message():
    n = tracker.next()
    x = str(n.raw).split(';')
    y = x[0] if int(x[1]) >= 0 else x[1]*(-1)
    x = x[1] if int(x[0]) >= 0 else x[0]*(-1)
    print('feye', x, y)
    return {'x': x, 'y': y}

如果这个代码不在循环中(在js中)但在将它插入循环(如上所述)后,python代码会自行循环并发送无法访问js的数据(有没有console.log事件甚至),关闭站点不会停止python循环。 使用setInterval减慢循环也不起作用。

0 个答案:

没有答案