如何在brython中创建websocket JSObject



我正在尝试使用Brython在浏览器中运行Python代码,并在该Python代码中使用websocket。

我有工作的JavaScript代码,可以连接到Websocket echo服务器http://www.websocket.org/echo.html.

根据文档,函数JSObject可以用于操作Brython中的JavaScript对象,但我无法使用ws = JSObject(WebSocket("ws://echo.websocket.org/"))ws = JSObject(new WebSocket("ws://echo.websocket.org/"))使其工作。

我怎样才能做一个简单的";Hello World"示例连接到echo服务器,在Python代码中,使用Brython?


另请参阅如何使用Brython导入库,以使用未内置于Brython的库(包括常见的Python标准库)

下面是一个使用py_websocket中内置的websocket()函数和服务器echo.websocket.org的示例:

<html>
<head>
<meta charset="iso-8859-1">
<script src="/src/brython.js"></script>
<script type="text/python3">
def on_open():
    # Web Socket is connected, send data using send()
    data = doc["data"].value
    if data:
        ws.send(data)
        alert("Message is sent")
def on_message(evt):
    # message received from server
    alert("Message received : %s" %evt.data)
def on_close(evt):
    # websocket is closed
    alert("Connection is closed")
ws = None
def _test():
    global ws
    # open a web socket
    ws = websocket("wss://echo.websocket.org")
    # attach functions to web sockets events
    ws.on_open = on_open
    ws.on_message = on_message
    ws.on_close= on_close
def close_connection():
    ws.close()
</script>
</head>
<body onload="brython(1)">
<input id="data">
<button onclick="_test()">Run WebSocket</button>
<p><button onclick="close_connection()">Close connection</button>
</body>
</html>

代码应该是不言自明的。Brython网站需要完成更多关于web套接字

的文档

相关内容

  • 没有找到相关文章

最新更新