如何测试 SocketConnection是否连接成功(100分)

  • 主题发起人 主题发起人 jony
  • 开始时间 开始时间
J

jony

Unregistered / Unconfirmed
GUEST, unregistred user!
使用 SocketConnection服务器应用程序,想在连接失败时捕捉错误信息
try
SocketConnection1.Connected:=True;
except
Application.MessageBox('无法连接到服务器!', '错误',
mb_OK+MB_ICONERROR);
end;
但连接失败时无法报错,程序好象死了,请问该如何去捕捉,谢谢
jony
 
有个事件。我以前做过,但是忘了。
连接成功和失败都会触发一个特定事件,在这里你可以进行处理,
自己在socket的事件列表里面仔细找找看。
 
onerror事件
 
试试把SocketConnection1.Connected:=True;放在别的地方(如按钮点击事件)
把Application.MessageBox('无法连接到服务器!', '错误',
mb_OK+MB_ICONERROR);放在socketconnecetion的onerror(或onclienterror)事件中
 
if SocketConnection1.Connected then
else

try finnal end
 
我找不到socketconnecetion的 onerror事件

JONY
 
主要要编写方法到客户端测试(view/type lebrary)可传递到客户端获的连接的信息
 
ClientSocket组件的 OnError事件可以判断
建议你看一下Delphi Demo下的例子
 
定义一个TObject类,它的一个过程为HandException,其中有一个参数为E:Exception
然后在主Form的Oncreate事件中定义Application.OnException事件为此过程就可以知道
发生了什么。(E为错误代码)
TPubErrHandle = class(TObject)
public
procedure handException(Sender: TObject;
E: Exception);
//自己随便写,空函数也行
end;
在主form的create事件中加入
procedure TForm1.FormCreate(Sender: TObject);
var
puberrhandle:Tpuberrhandle;
begin
PubErrHandle := TPubErrHandle.Create ;
Application.OnException := PubErrHandle.handException;
end;
 
我是使用d6的结果也是一样程序至少也要等20分钟,才会出现try..except下的提示。
如果改用d5就不会了,可问题是我的程序必须用d6的,快气死我了。
 
TPubErrHandle = class(TObject)
这句是放在哪我怎么通不过?
 
用ClientSocket进行端口测试。
function HostPortOpen(FAddress:String;FPort:Integer):Boolean;
Var CheckSocket:TClientSocket;
begin
Result:=True;
CheckSocket:=TClientSocket.Create(Nil);
CheckSocket.ClientType:=ctBlocking;
CheckSocket.Address:=FAddress;
CheckSocket.Port:=FPort;
Try
CheckSocket.Open;
Except
Result:=False;
end;

CheckSocket.Free;
end;
 
ClientSocket与socketconnection应该不一样吧
为什么用ClientSocket这个来检测,
要是ClientSocket的端口有打开可是socketconnection无法连接那不也是一样。
 
有什么不一样,用的都是TCP/IP吖,就是检测端口罢了。
 
可用socketconnection进行连接,可不止是端口,
还需要服务端的scktsrvr.exe运行,还有必须有midas.dll
那这样也可以吗?
 
哪里老大,可以给小弟一个用midas 下的socket connection作三层数据结构的例子,
(BCB的最好了!或者 是DELPHI的或者是VC++)
或者告诉我如何用SOCKET CONNECTION出可以(但服务程序如何做。。。)
我会用DCOM CONNECTION?????
多多指教了!!!!!!!!!!!!!!!!!!!!!!1!
中秋可以请大家喝茶。。。。。。。
 
后退
顶部