当前位置: 首页 > news >正文

问题不大工作室 网站手机购物网站设计

问题不大工作室 网站,手机购物网站设计,无锡模板建站源码,不良网站浏览窗口在开发一些前端页面的时候,总是能接收到这样的需求:如何保持页面并实现自动更新数据呢?以往的常规做法,是前端使用定时轮询后端接口,获取响应后重新渲染前端页面,这种做法虽然能达到类似的效果,…

在开发一些前端页面的时候,总是能接收到这样的需求:如何保持页面并实现自动更新数据呢?以往的常规做法,是前端使用定时轮询后端接口,获取响应后重新渲染前端页面,这种做法虽然能达到类似的效果,但是依然有很多缺点,缺点就不在这里说了,感兴趣的小伙伴可以自行查阅一下。现在让我们回忆一下,我们有没有想过,是否有一种技术,服务器可以主动将数据推送给客户端进行渲染,而不再是客户端向服务器发出请求等待返回结果呢?接下来,让我们一起了解weboskcet。

websocket是HTML5规范的一个部分,它借鉴了socket的思想,实现了浏览器与服务器全双工通信,达到了即时通信的效果。websocket协议基于TCP协议实现,包含初始的握手过程,以及后续的多次数据帧双向传输过程,避免服务器频繁打开多个HTTP连接,从而能更好的节省服务器资源和带宽,提高工作效率与资源利用率

websocket的通信规范,首先浏览器通过HTTP协议发出websocket的连线请求,服务器进行响应,这个过程称为握手,握手完成后,客户端和服务器之间建立一个类似TCP的连接,使用websocket协议,从而实现它们之间的通信。

客户端的简单示例

// 创建websocket
var ws = new WebSocket("ws://www.example.com");

// 连接成功时触发
ws.onopen = function(e) {
    console.log("Connectiong open ...");
    // 发送消息
    ws.send("Hello WebSocket");
};

// 接收消息时触发
ws.onmessage = function(e) {
    console.log("Received Message: " + e.data);
    ws.close();
};

// 关闭连接时触发
ws.onclose = function(e) {
    console.log("Connection closed");
};

// 出现错误时触发
ws.onerror = function(e) {
    console.log("error");
};

服务端的简单示例

# 创建websocket服务端
from tornado.websocket import WebSocketHandler

class wsHandler(WebSocketHandler):
    # 保存连接的用户,用于后续推送消息
    connect_users = set()
    
    # 已与客户端建立连接
    def open(self):
        print("开启WebSocket opened")
        self.connect_users.add(self)

    # 关闭客户端连接
    def on_close(self):
        self.connect_users.remove(self)
    
    # 接收到消息
    def on_message(self, message): 
        self.write_message("接收到客户端的消息:{}".format(message))

    # 所有用户发送消息
    @classmethod
    def send_demand_updates(cls, message):
        # 使用@classmethod可以使类方法在调用的时候不用进行实例化
        # 给所有用户推送消息(此处可以根据需要,修改为给指定用户进行推送消息)
        for user in cls.connect_users:
            user.write_message(message)

    # 允许WebSocket的跨域请求
    def check_origin(self, origin):
        return True

if __name__ == "__main__":
    # 调用
    wsHandler。send_demand_updates("服务端发送给客户端的消息")

http://www.yayakq.cn/news/54008/

相关文章:

  • 网站网页文案怎么写舟山网站设计公司
  • 如何用手机建网站网站服务器连接被重置
  • 北京怎样在社保网站上做减员企业宣传网站系统建设方案
  • 台州网站建设简单的网站注册流程图
  • 志愿北京网站注册昆明平台开发公司
  • 织梦移动网站浙江建设工程信息网查询
  • php 网站开发架构wordpress好用的插件推荐
  • 高水平高职建设网站南宁建设学院官网
  • 网站建设和维护自学建筑铝模板多少钱一平方米
  • 做企业网站的优势网站导航还值得做
  • 邢台123式的网站怎么做新乡市建设工程网站
  • 做网站用的什么空间世界十大广告公司排名
  • 宜昌的网站建设图片上传网站源码
  • 自动更新的网站建设100件创意产品
  • 网站数据库怎么建哈尔滨建站人
  • flash个人网站首页模板大学网站栏目建设通知
  • 网站功能的介绍百度收录量
  • 住房与城市建设部网站wordpress 新建一个页面
  • 宜宾网站建设价格wordpress字体修改
  • 注册了域名怎么添加到自己的网站本地电脑做视频网站 外网连接不上
  • 中学网站建设书福永附近做网站公司
  • 汶上县住房和建设局网站域名备案查询系统官网
  • 如何入侵网站后台织梦个人网站模版
  • 网站上的视频上传怎么做wordpress 视频 加载
  • 梁园区官方网站网站建设罗贤伟
  • 企业网站推广过程iis7安装wordpress
  • 网站开发要学哪些知识做 爱 网站视频
  • dede免费手机网站模板下载湘潭网站建设开发
  • 响应式企业网站源码泰安网站优化公司
  • 石家庄建设企业网站专业的企业宣传片制作