如何检测套接字Node.js中的networking故障

我正在尝试写内部运输系统。 数据应该使用networking套接字从客户端传输到服务器。 除了处理networking问题,它工作正常。 如果我在客户端和服务器之间放置防火墙,双方我都不会看到任何错误,所以数据将继续填充客户端的内核缓冲区。 如果我将在这一刻重新启动应用程序,我将失去缓冲区中的所有数据。

问题:我们有办法检测networking问题吗? 我们有办法从内核缓冲区获取数据吗?

节点js直接暴露低级套接字api给你。 我假设你正在使用TCP套接字发送和接收数据。

确保客户端和服务器之间有活动连接的一种方法是来回发送心跳信号。 如果在发送数据时无法从服务器收到检测信号,则可以认为连接失败。

至于你的问题的第二部分:没有简单的方法从内核缓冲区获取数据。 如果丢失数据将是一个问题,我将确保将其写入磁盘。