请教一下vb.net关于socket方面的问题
目前在工厂里面上班,最近研究socket通信,如何保证服务器端与客户端之间的连接一直有效呢?客户端是电脑,服务器端是供应商提供的硬件设备,因此我感觉没办法写心跳检测。就拿扫描枪来说,扫描枪有固定的ip和通信端口号,是服务器端。扫描枪扫描生产出来的产品上的二维码,然后将序列号通过socket传到电脑上,再经过程序识别拆分显示在软件界面上,序列号信息就会自动上传到数据库里。
有时,起先建立的socket通信是正常的,能够正常扫描数据,但是当扫描枪这边出现了网络问题,再次扫描就无法正常进行通信传输数据。
我测试的时候客户端这边的软件不关,哪怕扫描枪出现网络问题重新恢复后,tcp连接还是存在,但是双方没法正常通信。解决方法也很简单,客户端主动关闭之前的socket,重新与扫描枪建立通信就行了。
但是这个过程需要人手动操作,有什么方式能够判断硬件设备服务器端出现了无法正常通信的异常,然后客户端主动断开连接关闭socket,重新再建立连接?