請問在三層式架構中, APP Server 有連線數目的限制嗎? |
答題得分者是:william
|
q_angus
一般會員 發表:1 回覆:3 積分:0 註冊:2008-05-29 發送簡訊給我 |
小弟參考 Delphi 6 徹底研究(陳燦煌著)書中的範例, 使用 Delphi 7.0 Enterprise 寫了一個三層式架構的程式。其中 App server 在 Remote Data Module 的設定是: Multiple Instance, Treading Model 是 Apartment.。在程式裡並利用 RemoteDataModuleCreate 及 RemoteDataModuleDestroy 的事件來記錄目前的前端 Client 的連線數目。這支 App Server 只有在 Client 端執行時, 才會被啟動執行。 一般而言, 前端 Client 連上 App Server 都很正常, 但是當第十個 Client 連線時(也就是目前已有九個連線), 這第十個 Client 就無法連線上去, 甚至會導致執行 App Server 的那台電腦好像當掉的感覺, 必須將 App Server 的 Process Kill 掉之後, 那台電腦才能正常運作。這個狀況似乎屢試不爽, 不論是哪個 Client, 只要它不湊巧排第十個, 就無法連上線。Client 端除了程式本身之外, 就只有將 MIDAS.DLL 放在 C:\Windows\System32 目錄下。 請教版上的各位前輩高手: 是否小弟有哪個參數沒設定正確, 才導致 App Server 無法同時連線十人? 還是說有沒有方法可以突破這個限制?
|
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
q_angus
一般會員 發表:1 回覆:3 積分:0 註冊:2008-05-29 發送簡訊給我 |
|
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
q_angus
一般會員 發表:1 回覆:3 積分:0 註冊:2008-05-29 發送簡訊給我 |
procedure TProj_ApSrv1.RemoteDataModuleCreate(Sender: TObject); begin // 增加一位前端的上線者(呼叫 MainForm 上的程序) MainForm.UpdateClientCount(1); end; procedure TMainForm.UpdateClientCount(Incr: Integer); begin FClientCount := FClientCount Incr; lblClientCount.Caption := IntToStr(FClientCount); end; 上面這兩段程式是我的 App Server 中關於顯示連線數目的程式碼。我在版上爬文時, 發現有網友提問: 計算上線人數的問題, 他的程式 Client 端 connect 時, App Server在執行 因為的展現部分並沒有做到的關係最簡單的方式是省略掉這一行由的事件去處理例如放個去更新) 由於這位網友的寫法和我幾乎一樣, 差別是我能連上九位使用者, 於是我也 Mark 掉lblClientCount.Caption := IntToStr(FClientCount) 改使用 Timer 來更新人數。果然, 去除掉這一行, 就能連線超過十人, 真是太感謝有這個版面讓大家能意見交流! 也謝謝大家的回覆, 感恩啊~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |