网络NC v1.0 源代码

2008-02-23 07:26:40来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

分  类:网络
语  种:简体中文
编辑器:Delphi7
平  台:Win9x,Win2k/NT,WinXP
作品源代码: 本地下载
软件或演示: -
代码大小: 484.8K
软件大小: -

一 NC设计思想

1 设计目标:网络无中心,世界任我行
在没有任何固定服务器的情况下,人们仍然可以畅通无阻的进行点对点的交流,传输文件,语音,视频等!
2 现存设计思想概述:
现在存在的可用的主要的P2P设计技术分为:集中式服务器技术,纯粹的对等点技术,分布式服务器技术
现在基本上大家都知道了P2P采用集中服务器虽然可以实现完整的P2P功能,但因为商业因素和集中服务器所带来的成本等的原因,已经有越来越多的质疑和控制权等的担忧!比较典型的就是现在风行的QQ,MSN等;而纯粹的对等点技术则是众多技术派人物所最求的一种发式,但因为现存网络本身的设计结构的原因和技术的局限性,虽然投入了大量的精力,这种技术仍然没有一个相对完美的解决办法,所以,基本上没什么好的产品诞生!
因此,比较合理并实际的就解决办法是发扬这两种方法的长处,避免其端处,这样,就产生了第三种设计方法:分布式服务器技术!
分布式服务器技术是在现在网络结构模式下最具有前景的技术,最近基本上所有的比较流行的P2P软件都或多或少的采用了这种结构,如EDONGKEY,JXTA等,只是叫法上有所不同而已!
这种技术有很多好处,比较明显和重要的是:
1) 整个系统的负荷被分布在世界各地的服务器所分担了,所以再不必考虑集中式服务器所要考虑的巨额成 本问题
2) 使用者的控制权大大加强了,因为服务器不是控制在某一个企业或集团的手里,所以不必担心会因为商业上的因素而被企业控制!
3 )应用范围和纯粹的对等点技术相比,大大拓宽了!
当然,分布式服务器技术在技术上实现起来比集中式服务器要难的多,但比纯粹的对等点技术实现起来又要简单一些!
因此,在现在的P2P实现中,基本上都首先考虑这种技术,因为这种技术从各个方面来说,都是比较合理的!
NC就是在这个技术理论的基础上加以改进而成的!
3 NC的设计思想
NC首先秉承了分布式服务器技术的一惯思想,并进一步改进,提出客户端就是服务器的设计思想,在这种思想的指引下,整个NC系统中的PEER没有任何级别上的区别,也不依赖于任何服务器,NC只是根据网络环境和用户的旨意来运转,用户可以自己做服务器并提供服务给那些没办法做服务器的PEER,也可以只使用别人提供的服务,还可以在使用别人服务的同时,提供力所能及的服务给那些没办法做服务器的PEER!
因此,在NC的系统中,不会有专门的服务器版,也不会有专门的客户端搬,而只是一个NC--一个没有任何中心概念的NC:Net No Center!
基于这个思想,NC采取了以下的软件结构来实现!
4 NC的软件结构

如下的简易图,NC整个系统呈树行结构无限扩张开!
---------------------------------------
NC1 (这个服务器固定吗,不!!!)
(S) / \ / \ NC2... NCn NC4
(SandC) (SandC)(C)
/ \ / \ NC3 ...NCk NCm
(SandC) (C) (C)
/ \
NC5...NCl
(C) (C)
---------------------------------------
5 NC的运行流程
首先,在第一次(注意,是第一次)开始运行NC的时候,仍然要一个临时的固定服务器,现在假设NC1做了第一个服务器(纯粹服务器),然后NC2...NCn就开始以客户端的方式连接上来了,而NC2同时还做了服务器(注意,NC2做为服务器这个信息是不是就注册到NC1了),所以NC3现在其实既可以连到NC1上,也可以连到NC2上,以此类推,NC3做了服务器这个信息也通过NC2注册到NC1了!NC要做服务器的必要条件是网络环境允许,而充分条件是用户的旨意!
现在,照如此的通讯模式,很快的一个NC网络群就发展起来了,并且以NC1为总服务器!
这个总服务器固定了吗,假如NC1现在不想做服务器了呢,没关系,我把整个服务器群的信息传递给NC2好了,现在的总服务器变成了NC2了,整个系统的中心就转移到NC2上来了!NC1可以退出了!而这些过程都是程序自动完成的!
如此遵循严格的通讯机制,整个NC网络就达到了不依靠任何中心服务器,又不影响功能完整性的情况下,一直运转下去!

二 技术实现
1 所用关键技术:
1) MIDAS:主要是维护服务器信息列表
2) SOCKET:主要实现数据的传输
3) 多线程技术,SOCKS代理技术等
2 语言:DELPHI
三 现在功能
1 客户端功能:

查找提供NC服务的服务器
消息收发!
视频收发,立即播放
图片收发,立即显示
Flash收发,立即播放
网页收发,立即显示
文件收发(采用了多线程技术)

查找朋友
添加朋友
删除朋友
查看朋友资料

个人信息维护
密码维护
SOCKET5代理支持
......

2 服务器端功能:

快速的消息转发
在线用户查看
日志查看
消息广播

上一篇: FileSend (局域网里文件传送)
下一篇: 数据转发服务器 v2.0 (源代码)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:网络探索者 v1.1 程序及代码

下一篇:Forms 单元修改版