WebSocket如何保持连接

时间:2012-11-16 15:04:12

标签: websocket

它说websocket

  

“使用ws在单个TCP套接字上进行通信   (不安全)或wss(安全)协议......“

这是否意味着客户端服务器只需要一次握手? 但我每秒钟都在NodeJs控制台上看到了握手。 它们是什么?

1 个答案:

答案 0 :(得分:1)

每当用户执行使用websocket的javascript时,都需要进行握手。在页面访问之间不能重用Websockets。当用户关闭或离开页面时,它们会自动关闭。当用户打开一个新选项卡时,将创建一个需要新握手的第二个套接字。

当您的NodeJs应用程序是客户端位于HTML页面上的Web应用程序时,只要用户请求页面,就会重新建立连接。因此,当用户浏览您的网站并且每个HTML页面上都嵌入了使用websocket的javascript时,您将看到每次点击后都会执行新的握手。

当您一直看到新的握手时,虽然只有一个用户始终在同一页面上,但您的应用程序可能确实存在问题。它是否可以一直创建新的套接字,虽然它可以重用现有的套接字? (每new WebSocket表示一个新的websocket连接意味着正在执行一次新的握手。)