R
RGKJ
Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,我第一次做三层,用MIDAS,在type library中定义了一些可远程调用的函数.
客户段采用socketconnection连接.可是我在常识同时用多台客户端(不同PC上)连接时,
可以正常运行,但当我关闭一个客户端后,重新运行客户端就出现了"灾难性故障"提示,
接着,所有的客户端都不能工作,表明是服务器出了问题,我不知道为什么.
我又在同一台PC上运行多个客户端都没问题(只要不关闭一个客户端),但如果关闭一个客户端马上上就死掉了.
我的客户端如下:
procedure TForm1.Button4Click(Sender: TObject);
begin
//连接服务器
try
socketConnection1.Connected :=false;
SocketConnection1.Host :=Edit1.Text ;
SocketConnection1.ServerName :='QueueServer.QueueDataServer';
SocketConnection1.Connected :=true;
except
on exceptiondo
showmessage('不能连接服务器');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
BillID:OleVariant;
begin
SocketConnection1.AppServer.AddClient(Edit1.Text,BillID);
Edit2.Text :=BillID;
end;
服务器端如下:
procedure TQueueDataServer.AddClient(const WGName: WideString;
var sBillID: OleVariant);
var
ClientAdd:TClientAdd;//自定义操作的类
begin
ClientAdd:=TClientAdd.create(pServePP);
try
sBillID:=ClientAdd.funClientAdd(WGName);
finally
ClientAdd.Free;
end;
end;
我的关键代码就这么多,
是不是还有什么很重要的地方我没有写?
可能是没有对断开连接进行处理,如果是,该怎么写?
请指教
客户段采用socketconnection连接.可是我在常识同时用多台客户端(不同PC上)连接时,
可以正常运行,但当我关闭一个客户端后,重新运行客户端就出现了"灾难性故障"提示,
接着,所有的客户端都不能工作,表明是服务器出了问题,我不知道为什么.
我又在同一台PC上运行多个客户端都没问题(只要不关闭一个客户端),但如果关闭一个客户端马上上就死掉了.
我的客户端如下:
procedure TForm1.Button4Click(Sender: TObject);
begin
//连接服务器
try
socketConnection1.Connected :=false;
SocketConnection1.Host :=Edit1.Text ;
SocketConnection1.ServerName :='QueueServer.QueueDataServer';
SocketConnection1.Connected :=true;
except
on exceptiondo
showmessage('不能连接服务器');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
BillID:OleVariant;
begin
SocketConnection1.AppServer.AddClient(Edit1.Text,BillID);
Edit2.Text :=BillID;
end;
服务器端如下:
procedure TQueueDataServer.AddClient(const WGName: WideString;
var sBillID: OleVariant);
var
ClientAdd:TClientAdd;//自定义操作的类
begin
ClientAdd:=TClientAdd.create(pServePP);
try
sBillID:=ClientAdd.funClientAdd(WGName);
finally
ClientAdd.Free;
end;
end;
我的关键代码就这么多,
是不是还有什么很重要的地方我没有写?
可能是没有对断开连接进行处理,如果是,该怎么写?
请指教