我正在尝试编写内部传输系统。 应使用网络套接字将数据从客户端传输到服务器。 除了处理网络问题外,它工作正常。 如果我在客户端和服务器之间放置防火墙,我将不会看到任何错误,因此数据将继续填充客户端的内核缓冲区。 如果我将在这一刻重新启动应用程序,我将丢失缓冲区中的所有数据。
问题: 我们有办法检测网络问题吗? 我们有没有办法从内核缓冲区中获取数据?
答案 0 :(得分:1)
节点js直接向您公开低级套接字api。我假设你使用的是TCP套接字来发送和接收数据。
确保客户端和服务器之间存在活动连接的一种方法是来回发送心跳信号。如果在发送数据时未能从服务器收到心跳,则可以认为连接失败。
至于你问题的第二部分:没有简单的方法从内核缓冲区中获取数据。如果丢失数据将是一个问题,我会确保将其写入磁盘。