正在将 Socket.IO 套接字传输到另一台服务器
Transporting Socket.IO socket to another server
每次发送数据时,如何将连接到服务器 A(使用 Socket.IO)的 Websocket 传输到服务器 B,并能够从服务器 B 向该套接字发送数据。但是最重要的是,套接字不应该直接将数据发送到服务器 B,所有进入服务器的数据都必须发送到服务器 A。我可以只将套接字对象从服务器 A 传递到 B 吗?注意:服务器 B 收到的任何请求都是从服务器 A 进行身份验证的。
我希望它的措辞不会太混乱。附上文字图
套接字 -> 服务器 A -> 服务器 B -> 套接字
您不能将套接字从一台服务器传递到另一台服务器。给定的 TCP 套接字(socket.io 所基于的套接字)仅在两个特定端点之间,并且一旦连接套接字就无法更改。
你的问题并不完全清楚,但听起来你可能只是想让服务器 A 充当代理,客户端连接到服务器 A,然后服务器 A 可以决定将一些数据转发到服务器 B。你可以使用支持您的身份验证方法的 pre-existing 代理服务器代替服务器 A,或者如果您已经有一个服务器 A 进程,那么您可以通过让它发送适当的信息包来为其添加代理功能服务器 B.
或者,您可以将套接字连接到服务器 A,通过服务器 A 进行身份验证,作为该连接的一部分,它可以接收一个令牌,然后可以使用该令牌直接连接到服务器 B。服务器 A 和 B将共享对某些 "token store" 的访问权限,以便服务器 B 可以检查令牌存储以查看是否有任何传入连接提供了有效令牌。
每次发送数据时,如何将连接到服务器 A(使用 Socket.IO)的 Websocket 传输到服务器 B,并能够从服务器 B 向该套接字发送数据。但是最重要的是,套接字不应该直接将数据发送到服务器 B,所有进入服务器的数据都必须发送到服务器 A。我可以只将套接字对象从服务器 A 传递到 B 吗?注意:服务器 B 收到的任何请求都是从服务器 A 进行身份验证的。
我希望它的措辞不会太混乱。附上文字图
套接字 -> 服务器 A -> 服务器 B -> 套接字
您不能将套接字从一台服务器传递到另一台服务器。给定的 TCP 套接字(socket.io 所基于的套接字)仅在两个特定端点之间,并且一旦连接套接字就无法更改。
你的问题并不完全清楚,但听起来你可能只是想让服务器 A 充当代理,客户端连接到服务器 A,然后服务器 A 可以决定将一些数据转发到服务器 B。你可以使用支持您的身份验证方法的 pre-existing 代理服务器代替服务器 A,或者如果您已经有一个服务器 A 进程,那么您可以通过让它发送适当的信息包来为其添加代理功能服务器 B.
或者,您可以将套接字连接到服务器 A,通过服务器 A 进行身份验证,作为该连接的一部分,它可以接收一个令牌,然后可以使用该令牌直接连接到服务器 B。服务器 A 和 B将共享对某些 "token store" 的访问权限,以便服务器 B 可以检查令牌存储以查看是否有任何传入连接提供了有效令牌。