远程主机强迫关闭了一个现有的连接

huiwww 2004-07-31 05:10:42
我做的三层架构,在局域网连接使用很正常,但通过互联网Ip连接后,过段时间不操作,客户端就会报‘远程主机强迫关闭了一个现有的连接’.我应该如何屏蔽掉出错提示的窗口。
...全文
402 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
WuChenCan 2004-08-17
  • 打赏
  • 举报
回复
UP
bear_tj 2004-08-13
  • 打赏
  • 举报
回复
我的项目使用中也是遇到这样的问题,几分钟不进行查询操作就会自动断开连接,如果一直使用就不会断开,问了好多人都没有解决,好像在这方面高手不多.或许SocketConnection和ScktSrvr.exe本来就问题多多(有资料说)
最后没有办法,只好用最笨的办法:查询的时候如果异常,只好再连接一次.在ScktSrvr.exe中设定了连接不活动的时间就断开

这方面其实我遇到好多问题啊,反正很不爽.
http://community.csdn.net/Expert/topic/3263/3263167.xml?temp=9.714907E-02

http://community.csdn.net/Expert/topic/3195/3195626.xml?temp=.4715082
bear_tj 2004-08-13
  • 打赏
  • 举报
回复
办法很笨,但也是没有办法中的办法了.
出现断开时候,你的sql查询肯定会出现异常,在那里捕获异常后再SocketConnection.connect一次,这时就又将产生一个新的连接.查询就正常了,
旧的连接好像并没有释放掉,
但是会在你设定的时间后就会释放掉,这些我都跟踪过的,应该没有错.

时间设定在ScktSrvr.exe中的第三项设定,单位是分钟.
ccc0808xx 2004-08-12
  • 打赏
  • 举报
回复
清理掉出错窗口的方法很简单,
将出错码归 0 ;这样这个错误就不会再往下传了!
一句代码实现:
//delphi6 下的实现方法:
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode := 0;
end;
//delphi7 下的实现方法:
procedure TForm1.TcpClient1Error(Sender: TObject; SocketError: Integer);
begin
SocketError := 0;
end;
tec715 2004-08-12
  • 打赏
  • 举报
回复
我也遇到过这个问题,应该可以捕获这个错误吧
zdq801104 2004-08-12
  • 打赏
  • 举报
回复
不会,关注一下
zhuchengchuan 2004-08-02
  • 打赏
  • 举报
回复
UP
DreamStrat 2004-08-02
  • 打赏
  • 举报
回复
1:互联网Ip连接的服务器,有超时设置(当客户端到达设置参数时间后未操作<向服务器提出操作请求>) 服务器会断开该客户的连接


2:在程序中你的客户端与服务器设为了永久连接类型(Connection = True),但互联网不是很稳定的,当掉线了,那你的连接也就有问题

huiwww 2004-08-01
  • 打赏
  • 举报
回复
没人会吗?为什么?
neo40 2004-08-01
  • 打赏
  • 举报
回复
定时连接不就行了
huiwww 2004-07-31
  • 打赏
  • 举报
回复
郁闷,没人能帮我
huiwww 2004-07-31
  • 打赏
  • 举报
回复
我这样做也是为了能更快的取到数据。
aiirii 2004-07-31
  • 打赏
  • 举报
回复
>>‘远程主机强迫关闭了一个现有的连接’.我应该如何屏蔽掉出错提示的窗口。

>>但通过互联网Ip连接后
正常, 要做成斷開聯接, 也就是說, 有需要再聯接, 取到數據後, 就斷開,
你這種永久邊接, 應該不是很對!

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧