Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有一种方法可以让服务器在两个客户机之间建立连接,而无需在服务器上传递数据?_C#_Connection - Fatal编程技术网

C# 有没有一种方法可以让服务器在两个客户机之间建立连接,而无需在服务器上传递数据?

C# 有没有一种方法可以让服务器在两个客户机之间建立连接,而无需在服务器上传递数据?,c#,connection,C#,Connection,谢谢你的回答。 我想做的是,它是一个服务器,它将保持一个连接的客户端列表,并且现在需要另一个客户端。我认为很多游戏服务器都是这样工作的,它们的客户端在托管时充当服务器,因为防火墙会阻止连接,我不明白它们是如何让它们成为主机的。这怎么可能?我应该搜索的内容的具体名称是什么 如果您愿意编写任何示例代码,我在C#中获得了大部分经验。 感谢并为我糟糕的语法感到抱歉。通常,只有未安装防火墙的计算机才能用作公共服务器。一些带有防火墙的路由器是自适应的——它们允许应用程序使用UPNP技术解除阻塞并转发特定端口

谢谢你的回答。 我想做的是,它是一个服务器,它将保持一个连接的客户端列表,并且现在需要另一个客户端。我认为很多游戏服务器都是这样工作的,它们的客户端在托管时充当服务器,因为防火墙会阻止连接,我不明白它们是如何让它们成为主机的。这怎么可能?我应该搜索的内容的具体名称是什么

如果您愿意编写任何示例代码,我在C#中获得了大部分经验。
感谢并为我糟糕的语法感到抱歉。

通常,只有未安装防火墙的计算机才能用作公共服务器。一些带有防火墙的路由器是自适应的——它们允许应用程序使用UPNP技术解除阻塞并转发特定端口


在一台公共服务器的帮助下,在两台防火墙计算机之间建立直接连接也有一些棘手的技术,请看一下WCF,特别是使用双工TCP连接

您不需要在客户端(仅服务器端)处理防火墙,因为TCP支持传输级别的双工连接