使用多个网络接口来广播每个网络中的数据(负载平衡/绑定)

时间:2014-01-20 19:08:46

标签: c# performance load-balancing file-transfer

问题是: 如何通过当前电脑上的多个互联网连接发送数据?

可能部分地与This Post

相似

虽然我的想法是(像raid-0使用多个hdd,以获取多个nic的优点) 实际上多个互联网连接/帐户最大化 上传带宽的吞吐量(通常占总带宽的1/8)

我试图实现的概念是使用最快的协议,无论数据完整性如何 所以我可以将数据从一个点发送到另一个点(具有应用程序的“客户端”部分来处理数据...检查完整性,同时将数据放回一个部分) 或者只是使用tcp,如果它不值得(处理应用程序级别的完整性以提高速度)

我知道有一个名为“Connectify”的现有应用程序可以执行相似的操作 虽然我的想法是做一些不同的东西,我需要了解基础知识 所以我可以开始这个项目进行测试和开发。 ...提前谢谢!

1 个答案:

答案 0 :(得分:2)

在这种情况下,您需要采用的方法概括是创建绑定到计算机中各个网络适配器的多个TCP客户端。您可以遍历每个可用的适配器,进行测试以确保它们与外部世界连接,然后将它们添加到集合中,然后对于要传输的每个数据包,将数据包发送出去。

请参阅http://msdn.microsoft.com/en-us/library/3bsb3c8f.aspx,了解如何将TCPClient绑定到各个IPEndPoints。

由于TCP操作方式的本质,您必须为每个数据包构建一个包装器,它还包含一个订单ID,以确保无序接收的数据包(这将在大多数情况下发生在此案例),可以再次拼凑在一起。

如果您需要更多帮助来理解事物,请告诉我。