我有一个脚本(我目前没有代码示例,但我使用了 IO::Async),它连接到远程服务器上的套接字并进行侦听。客户端通常只是监听新数据。
问题是客户端无法检测是否发生网络问题并且套接字连接已消失。我使用了 IO::Async,也尝试了 IO::Socket。建立初始连接后,句柄始终“已连接”。
如果再次建立网络连接,套接字连接自然仍然会丢失,因为脚本不知道它应该重新连接。
我正在考虑创建某种“keepAlive”,它每 X 秒“ping”(syswrite)套接字(如果没有任何新内容通过套接字)来检查连接是否仍然存在。
这是正确的方法还是可能有另一种更有创意或更清洁的解决方案?