以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  服务器有问题时,程序挂掉求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=45961)

--  作者:temblar
--  发布时间:2014/2/14 10:25:00
--  服务器有问题时,程序挂掉求助

服务器不是很稳定,偶尔就会连接不上端口。因为程序里有实时数据更新的代码,所以服务器一有问题程序有时就挂掉,只能任务管理器硬关。

 

我现在是在 NetworkAddressChanged 中有代码如下:(论坛里找的)

Try
    Dim Client As System.Net.Sockets.Socket = New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
    Client.Connect("www.XXXX.net", "10844" )
    Client.Close()
Catch Ex As Exception
    Forms("重新登陆").show
End Try

 

网络连接出问题时 Forms("重新登陆")会打开(窗口afterload里关闭实时更新的代码)

 

但服务器有问题时【重新登陆】窗口不出来,弹出的是foxtable提示窗口(什么DB.....sqlserver...什么的)程序就死掉了

 

请高手帮忙给个思路,拜谢!!!

 

另外问下:项目事件BeforeConnectOuterDataSource 是只有打开项目程序的时候执行代码,还是程序使用中每一次从数据源读写数据的时候都执行?


--  作者:Bin
--  发布时间:2014/2/14 10:29:00
--  
在ALterLoad事件里也使用以下TRY CATCH 就不会死掉了
--  作者:temblar
--  发布时间:2014/2/14 10:39:00
--  

【重新登陆】窗口的afterload里加TRY CATCH ?

 

服务器出问题时,我在cmd里telnet其他端口没问题,就是10844端口连不通

我感觉服务器有问题时 Forms("重新登陆").show 就没触发。怎么监控服务器端口连不通?在哪个事件加什么代码?

麻烦Bin老师及众高手帮忙!!

 


--  作者:Bin
--  发布时间:2014/2/14 10:41:00
--  
你那里有出错导致程序死掉,就在哪里加入TryCatCh
--  作者:temblar
--  发布时间:2014/2/14 10:46:00
--  

端口有问题时 所有的数据读取 都不行,哪个项目事件能监控服务器端口?

 

难道所有表格及窗口事件的代码里 涉及到数据源读写的都要 TryCatCh么

 

谢谢bin老师


--  作者:Bin
--  发布时间:2014/2/14 10:53:00
--  
这样做是最稳妥的.  我建议你把通讯的代码写成内部函数,然后再函数里添加TRYCATCH  然后别的地方再调用

这样方便维护代码.

--  作者:temblar
--  发布时间:2014/2/14 10:57:00
--  
明白  谢谢!!