我编了个程序,主要用于单位局域网,想实现下面这个功能: 
1 、运行我程序的某台主机发出 查询 ‘关键字’的广播 
2、 所有运行着我程序的网内主机收到广播后,自动在各自机器内超找相关文件名的文档,然后反馈给发出查询要求主机一个结果 
3、 在发出查询的主机上显示 各个 网内主机发过来的搜索结果,并选择性的下载所需文件。 我自己的一点不成熟的思路是这样的: 
1、 程序上设置监听广播的端口 
2、收到查询广播的主机,开启一个线程搜索硬盘所有与关键字匹配的文件形成一个DATASET 结果集,然后保存为XML 文件。 
3、先发送一个简短字符串作为查询结果的反馈,如果发广播的主机进一步确认需要详细结果,则发送xml 文件。 
4、发出广播的主机对xml文件解读为DATASET,然后选择所需文件,要求对方主机传送。 
5、收到要求的主机传送文件。 呵呵,大致这些,如果有更好的思路或者方法,请不吝赐教!谢谢。

解决方案 »

  1.   

    如果xml文件很多,那网络不瘫痪了?http://topic.csdn.net/u/20080326/10/b374e79a-f675-4140-9aa2-8b80f7ca1de1.html?seed=1037641536
      

  2.   

    怎么可能。。对xml文档的处理是相当的快的。
      

  3.   

    实际lz先不要限定你的思路你应该先google“分布式文件系统”你会发现有很多成熟的解决方案和设计分布式文件系统的概念至少已经出来15年了,成熟的产品多的数不胜数如果你嫌这个概念太古老,太落后,那么可以google另一个换汤不换药的概念“云文件系统”
      

  4.   


    对于云计算的概念,我只是知道个名词而已,我自己当然也希望自己的解决方案能占点‘云’的边。感谢多为朋友确认我的思路没问题,这坚定了我的解决方向。有以上思路,主要是因为我放弃了我原来的设计思路 : 即C/S架构,本地用ACCESS ,然后再将数据集中在SQL SERVER数据库保存,管理、使用。 
      我现在将应用程序做成都有服务器功能,并且共享各台主机间的数据。原来只是想共享各主机的ACCESS数据库数据(我已经用ChannelServices.RegisterChannel 方法实现,效率问题还没经受验证),后来想进一步扩展为共享各台主机间的文件。
       所有的思路都围绕两点:  1、 抛开中央服务器  2、 分布式计算呵呵,非专业人士,瞎谈点个人意见,其实我连XML从来都没用过,一起都要慢慢打造
      

  5.   

    wanghui0380 兄弟,     如果你有什么好想法,也一定不要吝啬啊,呵呵。各位高手,
         其实我还有很多,进一步的技术问题,比如:
        1、xml文件的传送与普通文件的传送是否有不同方式?
        2、 本地文件搜索方面是否已有不错的算法或者控件可共享之?