如果我有一个客户端应用程序在连接到服务器的多个Internet连接(在路由器等之后)上运行。让我们说有5个,其中3个被告知服务器彼此的存在,这些3可以相互连接,以便当其中一个发送消息时,另外两个接收它,所有这一切都将是在没有第一台服务器或其他两台客户端发送或接收任何信息的情况下完成,只有3台客户端相互连接?他们怎么能通过路由器和防火墙?希望这是有道理的。
修改
从某种意义上说,在3个客户端之间创建一个小型专用网络,这些客户端可以直接相互通信,而不是通过服务器(除非绝对必要)。也许通过另一个有足够带宽的客户端,如果它对连接开放
答案 0 :(得分:1)
我不知道你写的是什么:),但这可能有所帮助:
http://msdn.microsoft.com/en-us/magazine/cc700336.aspx
http://www.codeproject.com/KB/WCF/WPFWCF_Chat_App_via_P2P.aspx
答案 1 :(得分:0)
答案是:并非总是如此。在某些情况下,位于不同NAT后面的两个对等点不可能直接通信。他们必须通过具有公共IP地址的中央对等方。