gpt4 book ai didi

javascript - 如何在 brython 中创建 websocket JSObject?

转载 作者:可可西里 更新时间:2023-11-01 12:49:58 26 4
gpt4 key购买 nike

所以我尝试在 brython 中使用 websockets,这是 python3 的 javascript 实现。不幸的是,我运气不佳。

根据文档,函数 JSObject() 可用于在 brython 中操作 JS 对象,但我在 websockets 中没有任何运气。我正在尝试使用 echoserver 对其进行测试:http://www.websocket.org/echo.html (当我使用 javascript 代码时效果很好)。

ws = JSObject(WebSocket("ws://echo.websocket.org/"))ws = JSObject(new WebSocket("ws://echo.websocket .org/")) 似乎有效。

我在 brython 的“站点镜像”下载中找到了一个 py_websocket.js 文件,但仍然无法实现它。

我不确定这是否只是没有实现,或者我是否在使用 brython 的 JSObject() 时遗漏了一个重要的概念。

最佳答案

这是一个使用内置 websocket() 函数的示例,包含在 py_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 站点需要用更多关于网络套接字的文档来完善

关于javascript - 如何在 brython 中创建 websocket JSObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17918019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com