温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行Socke、WS、WSS的对比分析

发布时间:2021-12-24 09:42:34 来源:亿速云 阅读:191 作者:柒染 栏目:互联网科技

如何进行Socke、WS、WSS的对比分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Socket 通信

Socket 不属于网络协议范畴,而是在应用层和传输层之间的一个抽象层,它把 TCP/IP 层复杂的操作抽象为几个简单的接口供应用层调用。通过调用 Socket 使得程序员可以更方便地使用 TCP/IP 协议栈。

Socket 连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket 连接属于请求-响应形式,服务端可主动将消息推送给客户端。

如何进行Socke、WS、WSS的对比分析

 

WebSocket/WSS介绍

WebSocket (WS)是HTML5一种新的协议。它实现了浏览器与服务器全双工通信,能更好地节省服务器资源和带宽并达到实时通讯。


WebSocket建立在TCP之上,同HTTP一样通过TCP来传输数据,但是它和HTTP最大不同是:

WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/Client Agent都能主动的向对方发送或接收数据,就像Socket一样;

WebSocket需要类似TCP的客户端和服务器端通过握手连接,连接成功后才能相互通信。


WSS(Web Socket Secure)是WebSocket的加密版本。

 

WS/WSS使用场景

随着互联网的蓬勃发展,各种类型的Web应用层出不穷,很多应用要求服务端有能力进行实时推送能力(比如直播间聊天室),以往很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断地向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽资源。


在这种情况下,HTML5定义了WebSocket协议,能更好地节省服务器资源和带宽,并且能够更实时地进行通讯。WebSocket实现了浏览器与服务器全双工(full-duplex)通信,允许服务器主动发送信息给客户端。


WebSocket协议的交互过程如下图所示

如何进行Socke、WS、WSS的对比分析

小程序中WSS相关的API

微信小程序支持WSS协议,提供如下API:

WebSocket

  • wx.sendSocketMessage

  • wx.onSocketOpen

  • wx.onSocketMessage

  • wx.onSocketError

  • wx.onSocketClose

  • wx.connectSocket

  • wx.closeSocket

支付宝小程序支持WSS协议,提供如下API:

WebSocket

  • my.connectSocket

  • my.onSocketOpen

  • my.offSocketOpen

  • my.onSocketError

  • my.offSocketError

  • my.sendSocketMessage

  • my.onSocketMessage

  • my.offSocketMessage

  • my.closeSocket

  • my.onSocketClose

  • my.offSocketClose

小程序MQTT接入IoT物联网平台

微信小程序和支付宝小程序都支持WSS协议,我们就可以使用MQTT over Websocket的方式接入IoT物联网平台,实现双向通信能力。

关于如何进行Socke、WS、WSS的对比分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI