如何在三层c/s中动态选择服务器(100分)

T

tennic

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在三层c/s中动态选择服务器,即是,先打开服务器,(如果没有开客户端就不能运行)
如果在客户端中选择服务器名(机器名例如服务器是放在A电脑上,输入A就能连接服务器)
就能选择服务器。还有有什么方法可以好像setdirectory那样选择机器名。谢谢。
 
把appserver的名字放到一个列表框里面选就可以了
选A就将DcomConnetion的主机设为A的IP。。。。。
 
首先,得使用 TsimpleobjectBroker组件,当然他有添加计算机的名称功能,在设置loadbalanced:= true
var
sMachine : string;
begin
try
( ---------- 在这添加你的过程)
except
on Exceptiondo
begin
try
SocketConnection1.Connected := False;
SimpleObjectBroker1.SetConnectStatus
(SocketConnection1.Host, False);
finally
try
sMachine := SimpleObjectBroker1.GetComputerForProgID
(SocketConnection1.ServerName);
SocketConnection1.Host := sMachine;
SocketConnection1.Connected := True;
ClientDataSet1.ApplyUpdates(0);
except
on EBrokerExceptiondo
begin
ShowMessage ('没有任何可供使用的应用服务器了') ;
ClientDataSet1.Cancel;
end;
end;
end;
end;
end;
我可是第一次给别人回答问题,但是质量有保证,呵呵,给分[:D]
 
人家是要手动选择Appserver,你的是自动选择
 
wx_long, 很多谢你的解答,你有TsimpleobjectBroke吗?好像不是delphi自带的。
一定要用socket连接吗,用dcom行不行?
 
to tennic:
TsimpleobjectBroke是Delphi自带的控件,在D6中是在DataSnap控件组,在D5中好像是在
midas控件组,你找找看吧,跟DCOMConnection在一块,图标有三台电脑.
 
是否能提供动态选择计算机。就是弹出一个选择计算机的对话框(好像在连接时选择那样)
然后选择计算机呢?
 
顶部