tomcat报错java.net.BindException: Address already in use

大概原因是短时间内new socket操作很多,而socket.close()操作并不能立即释放绑定的端口,而是把端口设置为TIME_WAIT状态,过段时间(默认 240s)才释放,(用netstat -na可以看到),最后系统资源耗尽(windows上是耗尽了pool of ephemeral ports ,这段区间在1024-5000之间; ) 避免出现这一问题的方法有两个,一个是调高你的web服务器的最大连接线程数,调到1024都还凑合,在tomcat中的web.xml文件中修改 <connector port="80" maxhttpheadersize="8192" maxthreads="1024" minsparethreads="25" maxsparethreads="100" enablelookups="false" redirectport="8443" acceptcount="500" connectiontimeout="20000" disableuploadtimeout="true"></connector> 阅读全文...

你可能感兴趣的:(java,tomcat,.net,Web,socket)