2012-12-04 89 views
0

我有一个客户端,是得到一个基于Wireshark的网络sniifer

java.io.IOException: End of message stream 

客户端Wireshark的申请以下信息,这都突出显示灰色,当连接抛出异常的分析产生java.io.IOException。

亮点表示:tcp.flags & 0×02 || tcp.flags.fin == 1

297 2012-11-30 14:36:49.926004309 10.17.31.1 192.175.217.57 TCP 64 synchronet-db > zymed-zpp [FIN, ACK] Seq=5476 Ack=5648 Win=64688 Len=0 

301 2012-11-30 14:36:57.932469330 192.175.217.57 10.17.31.1 TCP 66 pda-gate > synchronet-db [SYN] Seq=0 Win=65535 Len=0 MSS=1380 SACK_PERM=1 
302 2012-11-30 14:36:57.932663669 10.17.31.1 192.175.217.57 TCP 66 synchronet-db > pda-gate [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 SACK_PERM=1 
305 2012-11-30 14:36:58.277517580 10.17.31.1 192.175.217.57 TCP 64 synchronet-db > pda-gate [FIN, ACK] Seq=1 Ack=88 Win=64860 Len=0 


309 2012-11-30 14:37:08.276802200 192.175.217.57 10.17.31.1 TCP 66 esnm-zoning > synchronet-db [SYN] Seq=0 Win=65535 Len=0 MSS=1380 SACK_PERM=1 
310 2012-11-30 14:37:08.276975480 10.17.31.1 192.175.217.57 TCP 66 synchronet-db > esnm-zoning [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 SACK_PERM=1 
313 2012-11-30 14:37:08.594186629 10.17.31.1 192.175.217.57 TCP 64 synchronet-db > esnm-zoning [FIN, ACK] Seq=1 Ack=88 Win=64860 Len=0 
315 2012-11-30 14:37:08.594592509 192.175.217.57 10.17.31.1 TCP 64 esnm-zoning > synchronet-db [FIN, ACK] Seq=88 Ack=2 Win=65535 Len=0 

317 2012-11-30 14:37:18.588553260 192.175.217.57 10.17.31.1 TCP 66 nirp > synchronet-db [SYN] Seq=0 Win=65535 Len=0 MSS=1380 SACK_PERM=1 
318 2012-11-30 14:37:18.588744940 10.17.31.1 192.175.217.57 TCP 66 synchronet-db > nirp [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 SACK_PERM=1 
321 2012-11-30 14:37:18.906341549 10.17.31.1 192.175.217.57 TCP 64 synchronet-db > nirp [FIN, ACK] Seq=1 Ack=88 Win=64860 Len=0 
323 2012-11-30 14:37:18.906758749 192.175.217.57 10.17.31.1 TCP 64 nirp > synchronet-db [FIN, ACK] Seq=88 Ack=2 Win=65535 Len=0 

任何想法可能会导致异常?这仅仅是一个网络问题,还是它可能成为应用程序的问题?

+0

它是否反复出现? – Mob

+0

它反复发生,但偶尔发生。 – richs

回答

2

抛出异常期待更多的数据比它收到了当FIN到达的类。这不是网络问题,这是一个应用协议问题。

+0

你能解释一下吗?该应用程序正在使用Java的套接字库,并没有做任何特别的事情。 – richs

+2

@richs'消息流结束'是一个应用程序消息。 JDK中没有这样的消息。应用程序抛出'新的IOException(“消息流结束”)'。 – EJP