Netty长连接过程中如何判断在线和离线状态

话题背景:

       在实际的开发过程中,TCP长连接对于我们的服务程序来说需要同时满足两个条件,1个是TCP保持连接,另外一个最关键是有通信数据。

      在开发过程中可能会遇到以下几种问题:

     1、TCP连接了, 但客户端没有实际数据通信;

     2、TCP连接了,但服务器端没有给客户端发送实际数据通信;

     3、TCP连接了,客户端前期发送数据,但后期长时间没有发送数据;

     4、TCP连接后,数据通信一段时间后,客户端突然断电;

     5、TCP连接后,服务器端发送数据后,客户端没应答;

(如果还有其他可能性,欢迎补充)

那此时,判断TCP连接是否正常,需要从服务器端和客户端两方面入手去考虑。针对以上问题, 我们逐个分析:

1、TCP连接了,但客户端没有实际数据通信,如果不处理这个问题,或许对一些小的应用开发没特别大的问题,但随着连接的客户端增多还有服务器资源的减少,服务端的资源会被大量占用,不利于应用的稳定性;所以此时需要增加一个机制:当客户端连接后,如果再设定时间内无数据通信,则视为无效连接,并从服务器端主动断开和该客户端的连接;

2、TCP连接了,但服务器端没有给客户端发送实际的数据通信,一般比较少出现这种情况,除非服务器端的功能还没做好。 那此时客户端登录注册后无应答,则需要重新连接服务器试着发送通信数据,看服务器是否应答,如多次未应答,则在客户端显

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