服务器的功能为什么那么强大?

服务器的功能为什么那么强大?,第1张

1 稳定性:服务器要求7x24(x365)不间断运行,PC只需要5x8;

2 性能:服务器需要及时响应众多客户端的请求,并提供相应服务,PC一般只由少数人操作;

尤其是网络性能,对PC来讲如果不联网,没有网卡,PC仍是PC,而对服务器来讲没有网卡就不是服务器了,因为,服务器的定义就是在网络中给其它计算机提供服务的计算机系统。

3 扩展性:PC一般不需要很多外插卡,对扩展性要求不高,而服务器一般需要考虑增加网卡、RAID卡、HBA卡等;另外,扩展性还包括,内存、硬盘等存储位、电源,甚至是CPU的扩展,这些更是服务器的特性;

4 网络中的角色:用户直接操作PC进行,发出服务请求,是客户端;服务器工作在后台,只和发出服务请求的客户机进行通信,是服务提供者;

5 多机协同:服务器可由多台构成一个集群,共同提供服务,PC往往独立工作;

6 图形显示、键盘和鼠标的要求:普通台式机和显示器、键鼠等都是一对一的,而且,一般对显卡性能有要求,服务器不直接和用户交互对显卡性能基本无要求,一般键盘鼠标显示器是多台共用的。

希望能帮到你

什么是服务器?

服务器是是提供计算服务的设备。服务器硬件组成包括cpu、内存、硬盘、主板、机箱、电源。服务器的处理器与电脑的构成相同,但它的配置更高,就拿CPU来说,服务器CPU是服务器专用的,它的性能都要比个人电脑要强很多。服务器在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

服务器与我们日常所使用的电脑不同,它是一台全天候开机的专用计算机,一般来说服务器的配置也要比普通计算机高很多。服务器是网络上的节点,处理网络上的数据,主要功能有文件共享、数据存储备份,运算等。

相对于普通PC来说,在稳定性、安全性、性能等方面都要求更高,因此CPU、芯片组、内存、磁盘系统、网络等硬件都比普通PC更强大。

 现在网络的流行 使得服务器程序得到了广泛的应用 那么我们使用Delphi如何设计出强壮的服务器呢?

 有人说 如果要设计服务器的话 一定要使用VC来设计 其实这个人说的有一定道理 因为如果你要使用Delphi来设计服务器的话 要想设计高效的服务器就不要使用Delphi带来的大部分的控件(最好不要使用Delphi控件) 为什么呢?下面我会告诉大家 这样的话你全部使用API来设计服务器 就同VC没有太大的区别了

 使用Delphi来设计服务器程序 具体选择是使用窗体消息模式还是使用完成端口的模式 这主要看你的用户连接数量来决定 如果你的用户连接数量小于 人的话 并且处理的数据量不大的话 可以使用窗体的消息模式来进行服务器的开发 而如果大于 这样最好使用完成端口来开发服务器 我这里建议大家最好使用完成端口模式 因为你不可能保证你的用户数量不变化 同时由于你的服务器如果运行一段时间没有问题的话 最好做成WIN 的服务程序 这样可以保证后期的维护比较少

 现在介绍你在开发Delphi服务器的时候需要注意地方

  不要在程序中使用String变量

 这个也是在实际的开发过程中发现的 我最开始开发的时候 为了简单一些 就大量使用String变量来开发程序 但程序总是在运行一段时间后出现问题 后来查原因也不太清楚 到网上查资料 发现有人介绍不要使用String来做变量 将自己的程序全部修改成数组问题就基本解决了

  使用快速的加密算法如XOR 加密或DES加密等算法

 服务器在与客户端传递的时候一定要进行加密 但使用什么类型的加密算法呢?不要使用那种需要大量运算的算法如RSA等算法 最好使用XOR加密或DES换位加密算法 这样主要是满足普通的加密密文的要求 又保证服务器的运算速度 你也可以使用RSA加密密文 但这会造成服务器处理变慢 而如果遇到大量的处理时候 很容易服务器就拒绝服务器

  使用原ADO函数来连接数据库

 服务器程序通常都与数据库想结合 那么使用Delphi开发的时候 通常使用ADO的控件来制作 但如果你学习ADO手册会发现 对于服务器其实不需要控件来完成数据的操作 可以直接使用ADO相应的函数来完成 主要因为服务器程序与数据库通常都是比较简单的操作 没有很复杂的 所以使用原ADO模式就可以了 这样也减少由于ADO控件带来的问题

  应多使用 池

 服务器在设计的过程 一定要大量的变量支持 如果不使用池这个概念 你的程序将在创建和释放变量过程中浪费大量的时间 而且容易出现问题 设计过程中尽量不要创建和释放变量 如果能考虑到的变量 都在开始的运行的时候创建完毕 这样可以加快程序的运行速度 减少冲突 具体如何使用池这个技术 以后有时间再考虑写一篇介绍一下

  熟练使用指针操作

 如果你不熟悉指针操作 那么你几乎无法设计出高效的服务器 如果你要真正的理解指针的概念 对于设计服务器来说就是如虎添翼

 下面举个例子 如使用Recv接收数据到Buffer中后 你需要进行解密操作 你可以使用下面的方法进行

var  a b:array [ ] of byte;  i :integer;  ResultBuffer :array [ Max] of byte;begin  for i := to Sizeof(Buffer) div do  begin    move(Buffer[(i ) + ] a );    Des(a b true);  //这里使用DES加解密处理    move(b ResultBuffer[(i ) + ] );  end;end

lishixinzhi/Article/program/Delphi/201311/24703

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 服务器的功能为什么那么强大?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情