个人认为:
我用范例做了一下试验,datasocket应该有一个超时机制和网络检测机制,如果网络断开的时间很短,超时和网络检测还没来得及反应,那么通信会自动回复。如果网络断开时间很长,datasocket的相关vi肯定会报错。
datasocket本身不会支持自动恢复,就像tcp协议一样。之所以有些程序能够在通信中断后自动恢复,那是因为程序设计人员针对通信可能中断这种情况做了特殊处理。例如我们都熟悉的即时聊天软件——qq,当通信中断后,它经过一段时间发现网络中断,然后转为离线状态,当通信恢复后,它经过一段时间检测到网络正常,然后恢复到在线状态。
用datasocket设计通信中断后能够自动恢复的程序的时候,我认为思路也应该差不多。
首先,你的程序里面一定要有一个超时或者网络掉线检测机制,当发现网络出现问题后,屏蔽掉相应错误(不屏蔽的话程序弹出错误后肯定中断),给出一些提示信息,然后让程序跳转到一个重新连接状态,直道重新连接成功,再跳回到正常通信状态,同时检测功能继续运行。