當前位置:編程學習大全網 - 源碼下載 - 如何使用Delphi設計強大的服務器程序[1]

如何使用Delphi設計強大的服務器程序[1]

 現在網絡的流行 使得服務器程序得到了廣泛的應用 那麽我們使用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

  • 上一篇:基於ICE的PHP與java間的通信
  • 下一篇:2021年提升選股準確率的技巧
  • copyright 2024編程學習大全網