当前位置: 首页 > 知识库问答 >
问题:

Websocket是否使用与初始HTTP握手时使用的TCP连接相同的TCP连接?

何烨华
2023-03-14

我想建立一个节点集群。前面有负载平衡器的js服务(由于某些原因,不能有粘性会话)。

让我们想象一下,我有两个节点,客户机(例如,浏览器,使用socket.io)发送wss://请求,第一个节点从LB获取请求,然后它发送回客户机的“HTTP/1.1 101 Web套接字协议握手”响应。

>

在使用插座的情况下。在WebSocket连接建立以提高性能之前,它可能仍然会回退并通过http发送长轮询。这些轮询请求是否可以在不同的后端节点上结束?

共有1个答案

丁鸿云
2023-03-14

>

是的,长轮询可能会路由到不同的节点,除非专门设置为避免这样做(我不建议这样做,因为它表明体系结构中存在扩展弱点)。

 类似资料:
  • 本文向大家介绍什么是TCP 连接的三次握手 相关面试题,主要包含被问及什么是TCP 连接的三次握手 时的应答技巧和注意事项,需要的朋友参考一下 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_

  • 我已经实现了一个成熟的节点http服务器,该服务器具有数据库驱动的sesssion管理,并且能够在上面使用Socket.io来实现文件上传进度条和一个聊天应用程序。我还使用了node-http-proxy,并且能够代理WebSockets。在这种背景下,我有以下问题,我认为我需要知道这些问题才能成为一名有效的Socket.io开发人员。我没有被困在任何特定的代码中,但下面所要求的信息是作为一个有效

  • 在GO-net/http响应中,主体注释表示: 打电话的人有责任把尸体关上。默认HTTP客户机的传输不会尝试重用HTTP/1.0或HTTP/1.1 TCP连接(“保持活动”),除非主体读取完成并关闭。 意思是:如果我用http。得到,不要打电话给resp。身体。关闭(),那么它将不会恢复HTTP/1.0或HTTP/1.1 TCP连接(保持活力),是吗? 所以我写了一些代码:

  • 在这个基于Xcode7(beta)构建的应用程序中,TCP套接字连接(NSStream)失败,错误如下。 在info.plist中,我还包括了以下相关异常的ATS。 但在下面的委托中 -(void)stream:(NSStream*)stream HandleEvent:(NSStreamEvent)eventCode 我得到的事件代码为8,表示错误发生。具有上述描述。 验证错误:num=19:证

  • 问题内容: 我正在尝试在同一端口上启用tcp,http和websocket.io通信。我开始使用tcp服务器(在////行上方),它可以正常工作。然后,我运行了在websocket.io(位于////行下方的部分)上找到的echo服务器示例,它也可以正常工作。但是当我尝试将它们合并在一起时,tcp不再起作用。 因此,是否可以使用同一端口启用tcp,http和websockets?还是我必须在另一个

  • 我是socket新手,正在尝试通过tcp socket创建连接池。我的实现为每个调用发送32位长度的二进制消息。但有时读卡器从服务器接收到以前的响应时,我会遇到问题(当客户端关闭并在发送错误时重新建立套接字时,可能会发生这种情况)。如何在新请求之前刷新套接字(上次调用的剩余字节)。有什么建议吗? 编辑:我了解到tcp总是流0s,如果我在消息之前发送字节(1),这样我就可以使用刷新功能在新调用之前检