是否可以在不使用 webrtc 的情况下实现此场景?
- 客户端 A 连接到服务器
- 客户端 B 连接到服务器
- 服务器向 B 和 A 发送信息以及彼此的信息
- A 和 B 开始使用相同的连接直接交谈(例如,通过使用新的端口/IP 地址转换他们的套接字信息)
注意:客户端 A 和 B 没有任何套接字服务器。他们只是客户
非常感谢你。
是否可以在不使用 webrtc 的情况下实现此场景?
注意:客户端 A 和 B 没有任何套接字服务器。他们只是客户
非常感谢你。
如果至少有一个客户端可以接受传入的 TCP连接,则绝对可以建立直接的 TCP 连接。在这种情况下,服务器只需告诉另一个客户端要连接的 IP 地址和端口,然后两个客户端就可以直接通过新的 TCP 连接进行通信。
另一方面,如果两个客户端都在防火墙或 NAT 之后,事情就会变得更加不确定——在某些情况下,您可以使用TCP 打孔技术来启动直接 TCP 连接;在其他情况下,您只是不走运。
在任何情况下(AFAIK)都不能修改现有的 TCP 连接以拥有新的端点;TCP 连接的端点是固定的,要获得新的端点,您必须建立一个新的 TCP 连接。