美文网首页
WebSocket的应用(二十二)

WebSocket的应用(二十二)

作者: 梦捷者 | 来源:发表于2020-04-16 08:47 被阅读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(继承并重写了父类方法)

  • open 客户端连接成功时,自动调用
  • on_message 客户端连发送消息时,自动调用
  • on_close 客户端关闭连接时,自动调用

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

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

  • w = new WebSocket(url) #初始化WebSocket对象
  • w.onmessage 接受服务端发来的信息(具体的可以参考文档)
  • w.send() 发信息给服务端
  • 其他 w.onopen, w.onerror

相关文章

  • WebSocket的应用(二十二)

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

  • WebSocket的实现原理

    WebSocket的实现原理 一、什么是websocket Websocket是应用层第七层上的一个应用层协议,它...

  • websocket + node.js

    websocket的原理和应用 在继续本文之前,让我们了解下websocket的原理: websocket通信协议...

  • WebSocket协议

    WebSocket是基于TCP的应用层协议,用于在C/S架构的应用中实现双向通信 WebSocket与Http的区...

  • 神奇的WebSocket

    之前应用webSocket解决过一个服务端处理时间过长,导致服务断开的问题,应用webSocket长链接的属性规避...

  • WebSocket应用

    config WebSocketConfig.java WebSocketServer.java Controll...

  • WebSocket应用

    config WebSocketConfig.java WebSocketServer.java Controll...

  • WebSocket应用

    前端: 服务器配置:有2种配置方式:注解模式(推荐方式)、XML配置注解模式:WebSocketConfig:配置...

  • Websocket应用

    最近在接到用户需求的时候,希望做到多端协同登录的时候,能够让客户端展示的二维码展示已扫描、已登录等变化,给...

  • Nginx 代理 WebSocket和静态文件夹

    一、Nginx 代理WebSocket 由于WebSocket和应用使用的是同一个端口,所以只需要在应用的映射下面...

网友评论

      本文标题:WebSocket的应用(二十二)

      本文链接:https://www.haomeiwen.com/subject/lafqmctx.html