WebSocket的应用(二十二)

2020-04-16  本文已影响0人  梦捷者

参考文档:https://tornado-zh.readthedocs.io/zh/latest/websocket.html

一、一个简单的 WebSocket handler 的实例: 服务端直接返回所有收到的消息给客户端

1、chat.py文件的编写内容

import tornado.websocket

class EchoWebSocket(tornado.websocket.WebSocketHandler):
    def open(self):
        print("WebSocket opened")

    def on_message(self, message):
        self.write_message(u"You said: " + message)

    def on_close(self):
        print("WebSocket closed")

2、配置路由信息

handlers=[(r'/ws', chat.EchoWebSocket)]

3、在浏览器中输入以下内容

(1)首先在浏览器的控制台输入以下代码,建立初始化连接

w = new WebSocket('ws://127.0.0.1:8080/ws')#输入,必须是ws协议
WebSocket {url: "ws://127.0.0.1:8080/ws", readyState: 0, bufferedAmount: 0, onopen: null, onerror: null, …}#输出

注意:此时会在pycharm中输出open方法中的内容。

(2)客户端向服务端发送相应的消息,在浏览器的控制台上进行相应的操作

w.send('你好!!')

输出内容(向上箭头表示客户端向服务端发送相应的消息,向下则反)

(3)关闭WebSocket通信

1、直接关闭访问的界面。
2、w.close()

二、WebSocket 关键方法

1、tornado的WebSocketHandler(继承并重写了父类方法)

重写 on_message 来处理收到的消息, 使用 write_message 来发送消息到客户端. 你也可以重写 openon_close 来处理连接打开和关闭这两个动作.

2、浏览器客户端的相应方法

上一篇 下一篇

猜你喜欢

热点阅读