We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
我是在局域网中使用,我想把心跳间隔时间设置为一个超长的时间,文档中我看到有C调用方式,不知道C++方式如何设置? 现在我的客户端和服务端都没有设置心跳时间, 我现在的场景是: 客户端使用TcpClient,设置了重连策略,服务端使用TcpServer。服务端和客户端都没有使用单独的EventLoop。 客户端如果和服务端长时间没有数据传输, 在服务器上用其他工具查看TCP连接会发现客户端的TCP连接已经不存在了, 服务端TcpServer并没有触发onConnection回调,客户端TcpClient也没有触发onConnection回调,这个时候在客户机使用其他工具查看TCP连接,还能看到连接依然存在。 然后我手动关闭服务端程序,客户端依然没有触发onConnection回调,也没有触发重连动作。
又有新的发现:客户端和服务端最后一次通信时间是17:21,然后再次通信时是22:20,这个时候服务端发送数据给客户端,但是客户端没有接收到,然后服务端就触发了断开连接的回调了。但是客户端还是没有触发断开连接回调,客户端一直认为自己处于正常连接状态。
The text was updated successfully, but these errors were encountered:
设置应用层心跳可以通过channel->setHeartbeat,或者自己起个定时器都可以
Sorry, something went wrong.
可以通过一下方式来设置心跳吗? int sock = client_.createsocket(22330, "192.168.1.111"); setsockopt(sock, IPPROTO_TCP, TCP_KEEPIDLE, (char*)&idle, sizeof(idle)); setsockopt(sock, IPPROTO_TCP, TCP_KEEPINTVL, (char*)&interval, sizeof(interval)); setsockopt(sock, IPPROTO_TCP, TCP_KEEPCNT, (char*)&count, sizeof(count));
setsockopt设置的TCP层协议心跳,你先分别了解下TCP层心跳和应用层心跳的区别和必要性,然后自己决定使用何种方式
No branches or pull requests
我是在局域网中使用,我想把心跳间隔时间设置为一个超长的时间,文档中我看到有C调用方式,不知道C++方式如何设置?
现在我的客户端和服务端都没有设置心跳时间,
我现在的场景是: 客户端使用TcpClient,设置了重连策略,服务端使用TcpServer。服务端和客户端都没有使用单独的EventLoop。
客户端如果和服务端长时间没有数据传输, 在服务器上用其他工具查看TCP连接会发现客户端的TCP连接已经不存在了, 服务端TcpServer并没有触发onConnection回调,客户端TcpClient也没有触发onConnection回调,这个时候在客户机使用其他工具查看TCP连接,还能看到连接依然存在。 然后我手动关闭服务端程序,客户端依然没有触发onConnection回调,也没有触发重连动作。
又有新的发现:客户端和服务端最后一次通信时间是17:21,然后再次通信时是22:20,这个时候服务端发送数据给客户端,但是客户端没有接收到,然后服务端就触发了断开连接的回调了。但是客户端还是没有触发断开连接回调,客户端一直认为自己处于正常连接状态。
The text was updated successfully, but these errors were encountered: