在没有服务器的情况下为通信对等方更改2个客户端套接字?

时间:2013-09-16 14:00:54

标签: sockets networking

这个场景是否可以不使用webrtc?

  1. 客户端A连接到服务器
  2. 客户端B连接到服务器
  3. 服务器向B和A发送信息与彼此信息
  4. A和B开始直接使用相同的连接进行通话(例如,通过使用新的端口/ IP地址转换其套接字信息)
  5. 注意:客户端A和B没有任何套接字服务器。他们只是客户

    非常感谢。

1 个答案:

答案 0 :(得分:1)

绝对可以设置直接TCP连接,如果,则至少有一个客户端可以接受传入的TCP连接。在这种情况下,服务器可以告诉其他客户端要连接的IP地址和端口,然后这两个客户端可以直接通过新的TCP连接进行通信。

如果两个客户端都在防火墙或NAT之后,另一方面,事情会变得更多 - 在某些情况下,您可以使用TCP hole punching techniques来启动直接TCP连接;在其他情况下,你只是运气不好。

在任何情况下(AFAIK)都不能修改现有的TCP连接以获得新的端点; TCP连接的端点是固定的,要获得新的端点,您必须设置新的TCP连接。