当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 现在网络的流行,使得服务器程序得到了广泛的应用,那么我们使用Delphi如何设计出强壮的服务器呢?有人说,如果要设计服务器的话,一定要使用VC来设计,其实这个人说的有一定道理,因为如果你要使用Delphi来设计服务器的话,要想设计高效的服务器就不要使用Delphi带来的大部分的控件(最好不要使用...
 

 

 ·delphi中建议使用的语句     »显示摘要«
    摘要:网上找来的 感觉对入门者很有启示 收藏一下了!no.1 判断逻辑类型 }var b: boolean;beginb := boolean(2); //这样只是为了调试//b := true;if b = true then showmessage(b = true); //不建议//不安全///////if b then showmessage(b); //建议//简短end;var b: boo......
    摘要: convert access violation address to line no.convert access violation address to line no in delphi 3.it is possible to take the address given when an access violation occurs in a running application a......


[red]如何使用Delphi设计强大的服务器程序[/red]
上一页   ...

【程序编程相关:利用自定义事件实现不同窗体间的通讯 --

4 应多使用“池” 【推荐阅读:Socket DNS查询之实现

5 熟练使用指针操作 【扩展信息:P2P 之 UDP穿透NAT的原理与实现

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

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

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

var

  a,b:array [1..8] of byte;

  i :integer;

  resultbuffer :array [1..max] of byte;

begin

  for i := 1 to sizeof(buffer) div 8 do

  begin

    move(buffer[(i-1)*8+1],a,8);

    des(a,b,true);  //这里使用des加解密处理

    move(b,resultbuffer[(i-1)*8+1],8);

  end;

end

大家看一看,上面的代码,思路很清楚,就是将接收到的buffer分别按8个提到变量a中,再使用des解密算法解密成b,再放回resultbuffer中.

如果你熟练使用指针的话,效率会极大的提高

var

  a,b:pbyte;

  i :integer;

  resultbuffer :array [1..max] of byte;

begin


...   下一页
    摘要:在delphi中选project import type library命令,在对话框中选import microsoft shell controls and automation类型库,点install后,在delphi的activex控件板上就多了tshellfolderitem,tshelllinkobject,tshellfolderview,tshell,tsearchcommand等......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE