客户端没有关闭,ScktSrvr.exe 关闭的问题 200 分(100分)

  • 主题发起人 主题发起人 zhuye1
  • 开始时间 开始时间
Z

zhuye1

Unregistered / Unconfirmed
GUEST, unregistred user!
现在已经解决的问题是 客户端正常关闭后,ScktSrvr能够自动断开,但是如果 ScktSrvr 被强制关闭了后,就是使用的 ScktSrvr.exe 菜单关闭后,如果 客户端没有关闭的话,则 ScktSrvr 关闭了,其实在内存里还是存在的,并没有真实的释放,需要等 客户端关闭后,他才能实际的释放,客户端 TSocketConnection Supportcallbacks 属性为 false ,这样就有2个问题 1、强行关闭,ScktSrvr 在内存里存在,2 客户端会死掉
不知道有没有什么好的解决办法
 
补充下,我使用 D7 或者 d2007 的程序编译后都是有这个问题 现在使用的是 D2007做的程序
 
说明你的可护短采用主塞模式,所以单服务端断开后,客户段就长时间连接,其实没有死机 !
方法是采用非主塞模式判断连接是否存在,再用主塞模式连接!
 
强行关闭,ScktSrvr 在内存里存在 这个在退出的时候怎么关闭掉所有的连接呢?有代码修改的吗
 
那你不要用ScktSrvr,直接用INDY来实现封包拆包吧。
 
后退
顶部