怎么添加心跳?
freeleisure opened this issue · 4 comments
freeleisure commented
怎么在服务器端添加一个检测?比如每15秒检测一下连接是否还活着?
TcpSocketSaeaServer?TcpSocketSaeaSession??
并发量是多少?
gaochundong commented
关于心跳,默认的 TCP Socket 框架是不提供心跳功能的,保活不是一个通用功能,心跳功能需要应用层自己开发。
如果你使用过 WebSocket,WebSocket 定义的默认消息中包含 Ping/Pong 保活消息,可供参考。
关于并发量,目前没有针对 Cowboy 进行并发测试。
gaochundong commented
这本身不是个问题,无需跟踪。
tianakack commented
关于保活,我看到TcpSocketSaeaServerConfiguration里面有KeepAlive和KeepAliveInterval这两个参数,是不是跟保活相关的?
默认情况下,如果不设置这两个参数是不是就不启用保活?对端掉线的话本端也就无法感知到啊?
gaochundong commented
这里的 KeepAlive 是设置 Socket 的 KeepAlive 功能,可以参考 TCP KeepAlive TCP KeepAlive Overview
某些场景会有问题,比如我遇到的,在云上,Cloud提供商可能对服务器做了网关层,那么这个 KeepAlive 是在和网关层保活,而不是和应用程序。所以,这也是应用层保活存在的价值。