Idtcpserver disconnect断开已连接总是报错。 ( 积分: 50 )

  • 主题发起人 主题发起人 blueline0451
  • 开始时间 开始时间
B

blueline0451

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个GPRS 的 Server 程序.在client GPRS Modem 已连接时,通讯一切正常..可是当Server想断开已连接的 GPRS Modem 时.可是总是在执行 TIdPeerThread(Client.Thread).Connection.Disconnect; 时报错:EIdClosedSocket with message 'Disconnected'.
请大家帮忙......
 
我做了一个GPRS 的 Server 程序.在client GPRS Modem 已连接时,通讯一切正常..可是当Server想断开已连接的 GPRS Modem 时.可是总是在执行 TIdPeerThread(Client.Thread).Connection.Disconnect; 时报错:EIdClosedSocket with message 'Disconnected'.
请大家帮忙......
 
呵呵 我也遇到了,后来是服务端发送断开的消息给客户端,要客户端断开就没问题了
不知道这算不算解决的方法。。
 
to luckyso888:
我的服务器断开,是要把已连接上的客户端,全部踢下去,主动性比较强。。
 
听说这是Idtcpserver 一个BUG 有人解决过这个问题吗?
 
之前看过一篇文章讲过当IdTCPServer强制关闭的时候出现的问题,是Timeout的Exception,但却没有提出怎么解决的办法。但如果Client端主动断开的话Server再关闭就不会出现什么异常,就像上面2楼说的那样。
如果用API函数来写Socket的话,没有Indy那么多复杂的Exception。
 
to xfeiffer:
client 断开在server是没有问题,这个我已经测试通过了.可是我现在做的服务程序,client永远不会主动断开,他只是被动上线和下线...所以,必须由server 来挂断.
不知道有没有使用Idtcpserver的朋友,解决过这个问题....
 
其实,,,如果在程序中捕获这个错误,,再发布程序的时候,,是不会报错的,,但是总怕在程序运行期间出现问题,,还是改掉这个BUG比较好.所以请大家帮帮忙.....我现在的程序已经发布了,我现在特别担心..就怕出现问题...
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
524
import
I
后退
顶部