WebSocket协议简介
WebSocket就是给网页和服务器搭了条高速沟通的路子,有了它,服务器和客户端就可以实时聊天,不需要再用以前那种一问一答的方式。这个技术很快很有效率,尤其适合那些易耗费流量或是频繁传输东西的活动网页。所以说,WebSocket可是提升网页访问体验的好帮手!
用WebSocket聊天也得有规矩!像连接时得选个好听的子协议名称,还得符合规定。否则,就会传不上文件,不能痛快聊天了
WebSocket连接建立过程
要想用Wsocket()创建链接,得让浏览器先搞定几个事才能开始建连。第一步就是要从网址里面把主机名、端口、路径和安全协议等关键信息找出来。记住用HTTPS的话,secure参数可别忘了填!
记住,查端口号时别漏了80和443这两个。它们是WebSockets常见的端口,不管有没有安全措施,咱可不能把这两口子关了呀。否则会触发SecurityError异常,网络连接就被告知暂停啰。
先说说如果那个 protocols 参数没有给出来,就直接设为空数组吧;再来说说,如果在这儿面填进的变量是乱七八糟的或者超过了规定数量,那可就要出问题咯(就是那种SyntaxError错误);等前面的事情都做好了后,咱们就能拿到一个全新的 WebSocket 对象,接下来,当然就是要到后台程序那儿去搞定连线的事儿喽!
Cookie头部与正确Cookies发送
为了让Cookie正常工作且有效验权,我们需要将正确的Cookie资料放入HTTP请求头部。这些资料包括了之前存储在电脑里的Cookie,以及通过URL估算出的数值,这样才能让网站知道你的身份和授权,进而控制访问权限。
开WIFI前,我得先瞅瞅服务端回的状态码对不对,要是没101,立马就抽身,想办法咋补救。
WebSocket连接失败处理
WebSocket连不上?别急,用个小技巧就能搞定——关闭WebSocket并触发close事件。这样不只能尽快释放资源,保证系统稳定运行!
想要在包括’window’这样的全局对象还有就是用workerutil创建的新对象上操作 WebSocket?先确认他们的构造函数是可视的就可以。
readyState属性及状态变化规则
WebSockets的readyState属性,就是告诉咱们当前的状态,比如open啊、closing等啥的。创立这个WebSocket设备时,readyState默认给你个”CONNECTING”待命,等真的联网后,它就开始正式上班了!
你知道吗?服务器可以通过protocol属性设置自己需要的子协议~如果还没用WebSocket连起来,要先停下来并设置readyState为CLOSING;如果还没开始关闭握手,别犹豫了,赶快去试一下,也要记得把readyState调回CLOSING哈~
记住想断链接就得按规矩传送正确的状态码,还要写上原因说明下为啥关。这样大家都明白咋回事儿,后面处理起来也简单多!
总结与展望
读完了这篇文章后,咱们对WebSocket这个东西有了了解,也明白了它是如何进行沟通传输信息的。这样就能在零基础上理解网站应用程序如何与服务器快速稳定地聊天交谈。要想沟通顺畅没问题,那就得乖乖遵循规矩!
科技不断进步,Web技术也是如此,越来越多的创新让我们生活变得更轻松。所以,咱们要一起把Web技术推向前进,让互联网运行得更快更好更稳定。
评论0