Thrift第八课 心跳机制

场景

        客户端没有检测到网络连接断线,服务器端异常捕获。日志输出如下:TSocket::read() recv() <Host: ::ffff:10.95.22.39 Port:50180>errno = 10060


错误查找10060

        由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败


知识扩展 

        TCP不提供及时连接丢失通知,对于实时保证TCP连接正常的应用程序,需要实现心跳。Thrift基于TCP连接,但不是真正的长连接,只能应用于系统内部稳定高速的网络环境。为了实现真正的长连接,必须要手动在应用程序中添加心跳包,目前采用的方式是客户端定时发送一个心跳包,然后服务器收到之后直接返回该心跳包,客户端在10秒内没有收到心跳包,说明连接断开,重新连接。


引用
https://blog.csdn.net/joeyon1985/article/details/41511717
https://blog.csdn.net/byxdaz/article/details/74297190


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章