js和python通过websocket通信
时间: 2023-11-18 08:57:37 浏览: 59
Python通过websocket与js客户端通信示例分析
要在JavaScript和Python之间建立WebSocket通信,您可以使用现有的WebSocket库,例如对于JavaScript,您可以使用WebSocket API或Socket.io库,对于Python,您可以使用WebSocket库或Tornado Web框架中的WebSocketHandler类。
以下是一个简单的例子,演示如何在JavaScript和Python之间使用WebSocket进行通信:
JavaScript代码:
```javascript
var socket = new WebSocket('ws://localhost:8000/ws');
socket.onopen = function() {
console.log('WebSocket连接已打开');
};
socket.onmessage = function(event) {
console.log('收到消息: ' + event.data);
};
socket.onclose = function(event) {
console.log('WebSocket连接已关闭');
};
function sendMsg() {
var msg = document.getElementById('msg').value;
socket.send(msg);
}
```
Python代码:
```python
import tornado.ioloop
import tornado.web
import tornado.websocket
class WebSocketHandler(tornado.websocket.WebSocketHandler):
def open(self):
print('WebSocket连接已打开')
def on_message(self, message):
print('收到消息: ' + message)
self.write_message('你说了: ' + message)
def on_close(self):
print('WebSocket连接已关闭')
app = tornado.web.Application([
(r'/ws', WebSocketHandler),
])
if __name__ == '__main__':
app.listen(8000)
tornado.ioloop.IOLoop.instance().start()
```
这个例子中,JavaScript代码通过WebSocket连接到Python代码中的WebSocketHandler类。当连接建立时,打印一条消息。当JavaScript代码发送消息时,Python代码将打印接收到的消息并将其发送回JavaScript代码。当WebSocket连接关闭时,打印一条消息。
您可以根据您的需求修改这个例子。
阅读全文