我正在构建一个动态搜索(每次击键更新):我目前的方案是,在每次击键时,向服务器发送一个新的AJAX请求并以JSON格式返回数据.
我考虑为每个搜索"会话"打开一个WebSocket,以节省一些开销.我知道这会节省时间,但问题是,考虑到这些参数,它是否真的值得:80ms平均ping时间166ms:每次击键之间的时间,假设用户类型相对较快最差情况下1MB/s的传输速率,每次击键时必须收到的每个数据包不超过1KB.该应用程序还需要30-40毫秒的时间来将搜索结果焊接到DOM.
我发现这个:HTTP与Websockets相关的开销,但它是一个不同的用例.
除了纯HTTP开销之外,websockets还会减少什么吗?HTTP开销是多少(假设没有cookie和最小标头)?
我猜HTTP请求在每个请求上打开一个新的网络套接字,而WebSocket允许我们一直只使用一个.如果我的理解是正确的,那么打开新网络套接字的实际开销是多少?
我知道使用 HTML 和发送数据鼓励不经常发送大量数据,因为与标题、内容、标签、到期日期、cookie 等相关的开销。为了更好的用户体验和更少的延迟,最好发送大消息比小更新频繁。
但是,WebSockets 就是这种情况吗?现在在我的网页上,我非常频繁地发送大量像素数据,因此客户不会遇到太多波动。但是,如果我不经常发送更新会更好吗?
我想我的问题归结为:“使用 WebSockets,不经常发送大消息是否比频繁发送小消息更有效?” 我想我听说该技术消除了与发送和接收消息相关的大部分开销,因为它保持恒定连接并且是全双工等。
谢谢阅读。
编辑:帮助计算机
我想知道是否可以在两个Web服务器之间使用websockets而不是浏览器和后端之间?
我运行2个node.js服务器,并希望在它们之间交换数据.