websocket

本文深入探讨了WebSocket和WebSSH的技术细节与应用。WebSocket是一种全双工通信协议,简化了客户端与服务器的数据交换,适用于实时通信场景如聊天软件、在线教育等。WebSSH则提供了在网页上操作SSH终端的能力,对于运维人员尤其有用,可实现实时服务器管理和在线编程。

websocket:https://www.cnblogs.com/xiaonq/p/12238651.html

webssh:https://www.cnblogs.com/xiaonq/p/12243024.html

1.什么是WebSSH?

  • webssh 泛指一种技术可以在网页上实现一个 SSH 终端。
  • ssh终端:用来通过ssh协议,连接服务器进行管理
  • 运维开发方向:堡垒机登录、线上机器管理(因为运维人员不肯能24小时携带电脑)
  • 在线编程:提供一个编程环境

2.websocket(3w1h)

  • 什么是websocket
    • webSocket是一种在单个TCP连接上进行全双工通信的协议
      客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。
    • 浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输
  • websocket与http区别
    • http请求建立连接只能发送一次请求,不能有服务器端主动向客户端发送请求
    • websocket建立的长连接,一次连接,后续一直通信,这样节省资源,可以有客户端发送请求给服务器端
  • 远古时期解决方案就是轮询
    • 客户端以设定的时间间隔周期性地向服务端发送请求,频繁地查询是否有新的数据改动(浪费流量和资源)
  • webSocket应用场景?
    • 聊天软件:最著名的就是微信,QQ,这一类社交聊天的app
    • 弹幕:各种直播的弹幕窗口
    • 在线教育:可以视频聊天、即时聊天以及其与别人合作一起在网上讨论问题…
  • websocket原理
    • websocket首先借助http协议(通过在http头部设置属性,请求和服务器进行协议升级,升级协议为websocket的应用层协议)
    • 建立好和服务器之间的数据流,数据流之间底层还是依靠TCP协议;
      websocket会接着使用这条建立好的数据流和服务器之间保持通信;
    • 由于复杂的网络环境,数据流可能会断开,在实际使用过程中,我们在onFailure或者onClosing回调方法中,实现重连
  • websocket实现心跳检测的思路
    • 通过setInterval定时任务每个3秒钟调用一次reconnect函数
    • reconnect会通过socket.readyState来判断这个websocket连接是否正常
    • 如果不正常就会触发定时连接,每4s钟重试一次,直到连接成功
    • 如果是网络断开的情况下,在指定的时间内服务器端并没有返回心跳响应消息,因此服务器端断开了。
    • 服务断开我们使用ws.close关闭连接,在一段时间后,可以通过 onclose事件监听到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值