Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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语言中的TCP侦听器/代理#_C#_Tcp_Tcplistener_Httplistener - Fatal编程技术网

C# C语言中的TCP侦听器/代理#

C# C语言中的TCP侦听器/代理#,c#,tcp,tcplistener,httplistener,C#,Tcp,Tcplistener,Httplistener,我有几台机器运行一个应用程序,可以播放来自摄像机的视频。每台机器都位于不同局域网上的防火墙后面。我正在尝试研究一种方法,以便能够从Azure web应用程序与这些机器对话,并访问它们正在播放的视频。我不想在任何局域网上打开端口。我的第一次尝试是在每台通过TCP端口与中间Azure服务联系的机器上运行一个客户端,该端口保持打开状态,本地机器将数据发送到Azure服务,该服务基本上下载这些数据,然后将其发送到任何连接的客户端 我遇到的问题是,中间服务实际上必须下载每条消息,然后将其重新传输到任何客户

我有几台机器运行一个应用程序,可以播放来自摄像机的视频。每台机器都位于不同局域网上的防火墙后面。我正在尝试研究一种方法,以便能够从Azure web应用程序与这些机器对话,并访问它们正在播放的视频。我不想在任何局域网上打开端口。我的第一次尝试是在每台通过TCP端口与中间Azure服务联系的机器上运行一个客户端,该端口保持打开状态,本地机器将数据发送到Azure服务,该服务基本上下载这些数据,然后将其发送到任何连接的客户端

我遇到的问题是,中间服务实际上必须下载每条消息,然后将其重新传输到任何客户机,我认为这种方法不会扩展,因为中间服务器很容易溢出。理想情况下,我希望中间服务所要做的就是管理本地机器和最终客户端azure服务之间的连接,以便它们直接与其中一个进行通信

我想这一定和TeamViewer或LogMeIn这样的产品类似


如果你想调解一个点对点网络,你需要开始研究NAT穿孔,让客户端能够在路由器后面相互连接。有用于此的库和工具。可以说,这是一门艺术,而不是一门科学。如果客户端连接到服务器,则不需要打孔。如果目标端口关闭,打孔将永远不会连接。我从未使用过它,我确信它不是免费的,但您是否考虑过使用任何azure选项?像或?公平点波伊达,我最关心的是成本,这确实是一个小规模的解决方案,我正在尝试实施。从Azure进行实时流媒体传输的成本对于我的需求来说是相当昂贵的,即使我可以让它与我当前的基础设施配合使用