我有一些计算机在网络上,网络是以某种方式串行的,我的意思是计算机通过无线电发射器相互连接,并排成一条线,如果无线电发射器关闭或遇到一些其他计算机无法访问的问题。架构应该是这样的:
RT =无线电发射机
Computer#1<-RT#1->Computer#2<-RT#2->Computer#3<-RT#3->....<-RT#(N-1)->Computer#N
计算机之间的距离约为20到30公里,网络速度在0到10Kbps之间变化。计算机正在运行windows XP,并且非常高负载的程序(2 2GB的ram,90%的CPU使用率)总是在它们上面运行,所有计算机的IP地址都是已知的并且是静态的。
我将编写一个程序,它将在每台计算机上运行,并获取在该计算机上运行或安装和更新的命令或包。由于网络的低速和高断开的风险,计算机之间的数据传输应该具有恢复能力。问题是我应该如何实现它?使用.NET远程处理还是使用简单的网络套接字和TCP?哪一个更好?请随时解释您认为适合此解决方案的建议或方法。
发布于 2010-12-12 04:59:49
添加一个充当服务器的新系统怎么样?该系统将托管一个服务(可能还有一个数据库),该服务将控制网络上的所有操作。由于所有IP地址都是静态的,因此在断开连接的情况下可以很容易地跟踪和重新跟踪它们。
对于大型传输,您可以压缩和拆分数据包,然后分别发送它们。在失败的情况下,传输将从被破坏的分组重新开始。使用单独的服务器,可以轻松地维护所有这些统计数据,并相应地控制流量。
在CPU负载较低的情况下,客户端甚至可以ping服务器以获取挂起的命令/升级。
使用WCF可以进行双向/双工传输。
What You Need To Know About One-Way Calls, Callbacks, And Events
WCF Duplex Messaging
发布于 2010-11-30 18:13:41
阅读UUCP,历史上这个问题的解决方案和配置。
发布于 2010-11-30 18:48:37
我曾经在一个糟糕的连接上发展。
我有数据包返回字面上的小时(3-6小时IIRC)。
谢天谢地,合同结束了:)
玩得开心!我能感受到你的痛苦。
https://stackoverflow.com/questions/4312456
复制相似问题