我在客户端用SocketConnection连接服务器端。要通过scktsrve.exe进行连接。现在的问题是:当客户端的应用程序非法关闭的时候,在scktsrve中的连接不会关闭。这样多了就占用很大的内存和scktsrve资源。请问如何把长时间不操作(比如一个小时)的就自动关闭呢?不知这样说大家能不能懂我的意思。
不够详细的我再补充!
在线等!

解决方案 »

  1.   

    scktsrvr中有一项Timeout,将Inactive Timeout设成大于0得数。单位为分钟
      

  2.   

    据我的理解,如果将Inactive Timeout设置成60,如果某个连接在60分钟内,没有活动过。则它会关闭。如果在这段时间内活动过,则它不会关闭。
      

  3.   

    to:madyak(无天)
      真的是这样的吗?试试。
      

  4.   

    to:madyak(无天)
      我试了。是和你说的一样。
      先谢过了。
      但是还有一个问题:这样在客户端会提示读socket错误。我不想让它提示这个错误。而是要提示客户是否继续使用。该如何?
      

  5.   

    关于那个异常可以定义AppException方法,然后Application.OnException := AppException;
    捕捉到那异常后再做处理,你可能需要参考公文包程序的开发也可以在客户端结合连接SupportCallbacks:=false,这样也许就不会出现那个异常
      

  6.   

    to:madyak(无天)
    不好意思,昨晚先下了。把SupportCallbacks:=false在断开的时候是不会提示异常了。但如果再作操作就也会提示。
    我现在在看borland socket server的源代码。看看可不可以改那里的程序。
    好,我的这些分能问到这个份上就可以了。谢谢了。
    你能不能留下个e_mail,以后可以再问你。
    我的是:[email protected]