自製Queue Object |
|
G01
高階會員 ![]() ![]() ![]() ![]() 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
這個程式我在撰寫WinSocket程式時產生的實作(測試)程式,目的是在於當
Socket Server以及 Socket Client皆使用thread接收及處理大量資料時
如何才能讓Client端有效地得知Server端已完成Client端的需求,並且
進行下一階段Command Message的傳送. 嘗試了許多方法都失敗之後,決定使用自訂Queue的方式來達到以上的需求 自訂QueueOBJ的特性考量如下: 1.Codeing的便利性
該物件必須可以使用New()及DisPose()進行Constructor及Destructor-->簡單化
並且於執行完畢後QueueOBJ可以自動銷毀,由下一個QueueOBJ進行工作
;並降低系統資源使用上的負荷(因為要配合TThread使用,預設有大量且頻繁的Socket傳輸/回應)!!
2.QueueOBJ與程式其他物件的配合性
承上述,要配合TThread使用;所以必須由負責某項工作的Thread來決定該QueueOBJ
是否已完成該項作業,避免不必要的Socket傳輸壅塞!!
3.程式維護的一致性
QueueOBJ具備與Delphi VCL類似的Event觸發方式,不用再以其他方式來進行QueueOBJ的實作!!
並且將所有的QueueOBJ的Event都導向到一個Procedure,僅以EventSender屬性進行區別!!
(哦~~~~ 媽媽咪呀!!)
|
G01
高階會員 ![]() ![]() ![]() ![]() 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |