使用websockets将数据发送到Flask服务器

时间:2016-04-25 17:02:32

标签: javascript python asynchronous flask websocket

我有一个复杂的项目(不是我的代码......),Flask服务器使用SCOOP启动计算 - 也就是说,在另一个线程中。

我想知道如何从我的SCOOP线程发送中间数据,以便在我的Flask网页上显示它。我不怕一点Javascript。

Python websockets似乎是要走的路,但我不确定如何使用它。

假设我将在Flask网页中以这种方式使用Javascript来获取我的数据(例如来自Websockets的文档):

var ws = new WebSocket("ws://127.0.0.1:5678/");
var messages = document.createElement('ul');
ws.onmessage = function (event) {
    // Do stuff
}

现在,我的所有数据都封装在一个对象(Calibration2中 - 再次,而不是我的代码!)。因此,以下示例(仍然来自Websockets的doc)不适合我:

@asyncio.coroutine
def time(websocket, path):
    while True:
        now = datetime.datetime.utcnow().isoformat() + 'Z'
        yield from websocket.send(now)
        yield from asyncio.sleep(random.random() * 3)

start_server = websockets.serve(time, '127.0.0.1', 5678)

因为我希望处理程序协同程序成为我的Calibration2类的一部分,并在Calibration2想要的时候调用它。但根据Websockets,协程必须有websocketpath这个原型。但是如何从这样的函数中访问Calibration2的内部?

我很确定我的问题主要是对Python范围的误解。我不是专业人士(还是!)。所以,如果你能指出我的方向,我会很高兴,谢谢!

0 个答案:

没有答案
相关问题