前段时间在做一个android平台的QQ,服务器端是跑在Tomcat上的,但是每次测试一会,Tomcat就会卡住,不在响应任何请求,包括HTTP请求和TCP请求都不在响应。
后来想到可能是连接池占满了,而且都未被释放,就通过系统命令查看了一下Tomcat监听的8080端口和Netty服务器监听的52621端口(自定义的),发现有一大堆ESTABLISHED的连接,而且很多都是源于同一个ip地址,说明android端在发起HTTP请求或者TCP请求后都未把连接关闭,最后把该及时close的和disconnect的都做了处理。就不会出现这样的情况了。
附上端口连接检查命令:
windows:
netstat -aon|findstr "8080"
linux:
netstat -na | grep ESTAB | grep 8080 | wc -l