我想在各个客户端之间发送消息,但是,又不想单独打开Socket,
所以,想利用CallBack功能, 怎么做啊?
关于,本题目, 我得修改如下, 基本可以捕捉到异常了,并且也可以支持Callback
此代码位于SConnect.pas内, 有一行是我加的, 呵呵, 画龙点睛之笔
procedure TStreamedConnection.InternalClose;
begin
if Assigned(FTransport) then
begin
FTransport.OnTerminate := nil;
FTransport.Terminate;
PostThreadMessage(FTransport.ThreadID, WM_USER, 0, 0);
if GetCurrentThreadID = MainThreadID then
Classes.CheckSynchronize;
//这一行是我加的
WaitForSingleObject(FTransport.Handle, 180000);
FTransport := nil;
end else
if Assigned(FTransIntf) then
begin
FTransIntf.Connected := False;
FTransIntf := nil;