服务器在建立TCP连接后立即通过FIN、ACK和RST关闭TCP连接



在Mac OS X 10.8机器上,我有一台Tomcat 7.0.40服务器和一台客户端,它们都在本地运行。通过3路握手建立TCP连接,然后立即从服务器发送FIN、ACK和RST。客户端收到"来自服务器的文件结束"或"连接重置"。

TCP序列:

客户端SYN
服务器SYN,ACK
客户端确认

服务器[TCP窗口更新]确认
服务器FIN,确认
客户端确认
服务器[TCP重复ACK]ACK
客户端GET/myurl/
服务器RST

详细信息
-客户端和服务器都在本地运行
-第一个GET请求失败。以下请求成功
-
上没有防火墙-maxfiles已经增加,但没有成功

服务器关闭套接字的原因是什么?欣赏技巧和想法。

编辑:Tomcat的日志具有以下堆栈跟踪:

FINE:分析HTTP请求标头时出错java.net.SocketException:无效参数位于java.net.SocketInputStream.socketRead0(本机方法)位于java.net.SocketInputStream.read(SocketInputStream.java:150)位于java.net.SocketInputStream.read(SocketInputStream.java:121)网址:org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:516)网址:org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:501)网址:org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:98)网址:org.apache.coyote.http11.AbstractHttp11Processor.procedure(AbstractHttp11Processer.java:928)网址:org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)网址:org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)位于java.util.concurrent.ThreadPoolExecutiator.runWorker(ThreadPoolExecutiator.java:1145)位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)位于java.lang.Thread.run(Thread.java:724)

2013年8月14日下午5:15:17 org.apache.coyote.http11AbstractHttp11处理器进程FINE:分析HTTP请求标头时出错java.io.EOFException:套接字上读取了意外的EOF网址:org.apache.coyote.http11.Http11Processor.setRequestLineReadTimeout(Http11Processor.java:174)网址:org.apache.coyote.http11.AbstractHttp11Processor.procedure(AbstractHttp11Processer.java:926)网址:org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)网址:org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)位于java.util.concurrent.ThreadPoolExecutiator.runWorker(ThreadPoolExecutiator.java:1145)位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)位于java.lang.Thread.run(Thread.java:724)

您必须违反已配置的访问规则(如IP地址黑名单),或者发送它不理解的内容。

最新更新