如何做多線程服務器(200分)

  • 主题发起人 主题发起人 qlw
  • 开始时间 开始时间
Q

qlw

Unregistered / Unconfirmed
GUEST, unregistred user!
還是那個session的問題
基本的設置我知道
我想改個多線程的應用服務器﹐我原來的服務器是這樣的﹕
在應用服務器有十几個RemoteDataModule﹐而三個DataBase是放在一個
Tform上的(因為我同時從Oracle,SQLServer抓資料﹐所以用多個DataBase)
現在我改多線程﹐TDataBase/TSession放在哪里?
放几個?是統一一個Tsession/Tdatabase還是每個DataModule里一個Tsession/
Tdatabase?為什么?
我試了下﹐我新建了一個RDM,把Tform上的三個Tdatabase移到上面﹐加了一
個Tsession,在它的Create事件中取得DatabaseName和SessionName,在其他的
RDM的Create時把這兩個變量賦給它里面的Query.
多用戶連接時沒問題﹐但是只要有一個客戶端退出﹐其他用戶就進不去了﹐說
invalid Session name ***
請教﹐做多線程服務器應該怎么做?
 
Delphi 的RemoteDataModule本来就是一个多线程的工作方式,你起先建了
十几個RemoteDataModule就是一个错误。现在看来你只能将DATABASE改用ADO
来连接,关于sessionr的问题就可以不考虑了。
如果你的数据通信量很大就像你所谓了使用Oracle和SQLServer,那么就用
2个ADOConnection就只够,系统会自动根据客户连接的请求生成线程。
 
接受答案了.
 
后退
顶部