這是一個自我感覺很好的溝通程序,它的特點:
1.資料包格式全部自己定義。
所有的定義和通訊核心類別全部在COMM資料夾中。
2.能處理大量客戶端同時通訊的情況,客戶和服務端共用相同的通訊對象,並且可以實現互傳。
3.通訊細節全部封裝在幾個通用的類別中,隱藏了互動通訊的所有處理細節,如斷包處理,超時重發等功能。
4.數據通訊和數據具體應用完全分離,擴展性良好,本例中只做一個上傳文件的例子,你可以在不用改動通信核心的情況下,可以實現遠程控制所需的任何功能,並且不需要考慮通信細節。具體方法可以參考:CommSrvApps 單元的TSrvApp_File類,只要寫一個新類別即可:
TSrvApp_File = class(TServerAppObject)
public
function ProcessData(ABuf: PChar; ASize: integer): integer; override;
end;
透過以上類配合通訊核心類,實現了遠端即時傳送一個檔案就像copy那麼簡單。
其它:
此程式是我自己開發的連鎖超市方案中資料交換的應用實例,所以客戶端和服務端的程式碼有點多,但多是與通訊本身無關,所實現的功能是將本地Local資料夾與遠端Remote資料夾的.rs檔案互相進行傳送。
如果你有任何建議,歡迎來www.acreport.com交流,或寫信給我:[email protected]
作者:shaoyy