一个socket编程中出现的问题,很急,请各位帮帮忙,谢谢了。(20分)

  • 主题发起人 主题发起人 terry_lzs
  • 开始时间 开始时间
T

terry_lzs

Unregistered / Unconfirmed
GUEST, unregistred user!
我用clientsocket编写邮件客户端的程序,用moden登陆网络后打开socket,我在
clientsocket.active:=true处做了异常处理,这里并没有出现错误,可是后面就出现
了错误,提示为Asynchronous socket error 10061。这是怎么回事?因为以前没遇到
这种问题不知该如何解决,请各位大侠帮帮忙,谢谢了。积分不多,将就将就吧。
 
分太少了,况且我也不会
 
为什么使用Socket,delphi不是有SMTP控件和pop3控件,很好用,
倘若你想使用底层协议就不要使用控件,直接用api
 
10061就是 CONNET REFUSED
就是说,对方没有打开你要连的端口
(对方没有打开pop3端口,或者你没有设置正确端口)
 
我在连接时在clientsocket.active:=true处做了异常处理,可是这句可以顺利通过
稍后就出现错误提示了,遇到这种端口没打开的情况我应该在那里做异常处理呢?
 
我也在写socket程序,现在还没有开始做异常处理。看到你的贴子,我想我也存在这个问题
。处理起来真是不太方便,我能想到的仅是:

clientsocket.active:=true;
while (clientsocket.active = false) and not bflag then application.processmessage;
if bflag then error;

在onerror事件中写:
if errorcode<>0 the bflag := true
else bflag = false;
errorcode = 0;

有没有高手有别的方法?另外如果调用底层一些的东东能不能好一些?
 
你可以考虑使用 ics 控件。

不过ics 也是在事件中得到错误的
 
多人接受答案了。
 
后退
顶部