使用TCP-Java套接字的心跳协议的良好超时
我用Java实现了我自己的proto,它将通过TCP连接使用心跳信号,我也用它来传输消息和文件。 对于客户端,我使用阻塞套接字I/O。 这就是我计划的工作方式。。。 我将套接字超时设置为K秒,并使心跳保持在发送消息的间隔T内,以便T使用TCP-Java套接字的心跳协议的良好超时,java,sockets,tcp,timeout,heartbeat,Java,Sockets,Tcp,Timeout,Heartbeat,我用Java实现了我自己的proto,它将通过TCP连接使用心跳信号,我也用它来传输消息和文件。 对于客户端,我使用阻塞套接字I/O。 这就是我计划的工作方式。。。 我将套接字超时设置为K秒,并使心跳保持在发送消息的间隔T内,以便T
PS:字符串是ISO-8859-1中发送的8个字母,因此它的小数据我不认为这里有一个通用的“正确”答案,它实际上取决于您的需要。您需要平衡带宽需求和让服务认为客户端仍然存在的成本。这些需求因应用程序而异。对于IM,您可能想在几秒钟内知道,但对于文件传输应用程序,几分钟可能是可以接受的。我认为这里没有一个通用的“正确”答案,这实际上取决于您的需要。您需要平衡带宽需求和让服务认为客户端仍然存在的成本。这些需求因应用程序而异。对于IM,您可能想在几秒钟内知道,但对于文件传输应用程序,几分钟可能是可以接受的。“K”在很大程度上取决于应用程序的特定流量配置文件(例如,应用程序数据传输的频率)和应用程序对连接丢失的容忍度(例如,接收器需要多快检测到连接丢失)。不幸的是,低开销和快速检测是相反的目标 这听起来像是您试图解决的问题。如果是这样,并且您不知道“半开放”这个术语,研究TCP“半开放”可能会为您提供一些有用的信息,如: “K”高度依赖于应用程序的特定流量配置文件(例如,应用程序数据传输的频率)和应用程序对连接丢失的容忍度(例如,接收器需要多快检测到连接丢失)。不幸的是,低开销和快速检测是相反的目标 这听起来像是您试图解决的问题。如果是这样,并且您不知道“半开放”这个术语,研究TCP“半开放”可能会为您提供一些有用的信息,如:
如果是小数据,为什么要担心带宽?如果是小数据,为什么要担心带宽?