这是一个非常开放的问题"如何确保或保持套接字存活?"
我害怕我必须说"抱歉"这个悬而未决的问题。但我还是想问一些想法。
如何为应用程序提供端到端的解决方案,使应用程序知道两端的资源有限?
这里有任何解决方案或建议。
答案 0 :(得分:1)
我认为你的意思是TCP套接字。
你不能保证它在任何时候都活着。如果启用SO_KEEPALIVE不能执行您想要的操作,则需要在应用程序协议中执行自定义keepalive数据包。
对于isntance,某些协议具有可以使用的“NOOP”命令。
在Linux下(但不一定是其他操作系统),你可以在每个套接字的基础上修改SO_KEEPALIVE使用的keepalive间隔(参见man 7 tcp)