介绍
Websocket是一个持久化协定,相对于HTTP这种非持久协定而言。它实现了浏览器与办事器全双工通信,能更好的节俭办事器资本和带宽并达到及时通信的目标,与HTTP一样基于已建立的TCP连接来传输数据。然则与HTTP协定不合的处所就是:WebSocket是一种双向通信协定,在建立连接后,WebSocket办事器端和客户端都能主动向对方发送或吸法术据,就像Socket一样;WebSocket须要像TCP一样,先建立连接,连接成功后才能互相通信。

运行机制
传统的HTTP客户端与办事器请求响应模式,一个生命周期里只有一个或多个要乞降一个或多个与之对应的响应。 如下所示:
而WebSocket模式下客户端与办事器响应模式,一旦WebSocket连接建立,在客户端或者办事端中断连接前,数据都以帧序传记输,不须要重启客户端或者办事端从新提议连接请求。

1.客户端提议请求
- Request Method:GET
- Status Code:101 Switching Protocols #101之后的数据传输采取Websocket协定
- Connection:Upgrade
- Sec-WebSocket-Extensions:permessage-deflate;
- Sec-WebSocket-Key:dfQAy9mlQ0EjD5MmvvsZaQ== #验证
- Sec-WebSocket-Version:13
- Upgrade:websocket #客户端支撑websocket协定,如不雅办事器也支撑就应用WebSocket协定
2.办事器解析,并返回握手信息,建立连接
- Connection:upgrade
- sec-websocket-accept:+mKC4huknIfMGJFOzclP9fO058g= #验证
- upgrade:websocket
4.断开连接
应用处景
WebSocket属于Web范畴的及时推送技巧,目标让用户不刷新浏览器就可以及时更新。其在容器化治理平台里重要有两个应用处景类型,一个是及时消息类,将及时日记、营业监控等相干信息推送给客户端。如:在容器化治理平台里安排了一个应用,那么竽暌功用安排的日记、运行日记以及监控信息若何及时推送到前端呢,别的一个就是交互消息类,在Web界面操作容器,节俭手动登录办事器进入容器内的时光,进步效力。
实例1:及时消息
- #前端实现部分代码
- var openWs = function() {
- if(is_community == "True"){
- host_name = window.location.hostname+":8188";
- }
- var url = tmp_url.WordStr("{{DOCKER_WSS_URL}}",host_name)
- console.log(url)
- var ws = new WebSocket(url);
- var term;
- var pingTimer;
- ws.onopen = function(event) {
- ws.send(JSON.stringify({ T_id: t_id, S_id: s_id, C_id: c_id, Md5: md5,}));
- pingTimer = setInterval(sendPing, 30 * 1000, ws);
- hterm.defaultStorage = new lib.Storage.Local();
- hterm.defaultStorage.clear();
推荐阅读
如何在CentOS 7中使用SSL/TLS加固FTP服务器进行安全文件传输
在一开端的设计中,FTP(文件传输协定)就是不安然的,意味着它不会加密两台机械之间传输的数据以及用户的凭证。这使得数据和办事器安然面对很大年夜威逼。在这篇文┞仿中,我们会介绍在 Ce>>>详细阅读
本文标题:WebSocket在容器化管理平台的应用
地址:http://www.17bianji.com/lsqh/35232.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示