premature EOF 错误

Premature EOF 

属于IOException异常中,在解决这个问题中查阅了很多资料,甚至源码。目前在网络里的说法是:EOF是end of file的缩写,premature eof指的是读取文件时非正常的提前进入EOF状态

这个是很正确的,但是一开始没能理解,所以这个问题解决了有几天时间。

读文件包括读文件,或者其他流形式的。

 

下面说一下我遇到这个问题的实际例子:

我是在对接工商银行银企直联中遇到的,使用工商银行提供的demo都是可以发通正常交易的i。但是自己写的代码,在收到200 OK以后,就报异常了。

随后查到了这个异常的解释,但是很遗憾,没有理解透彻。

随后想到了抓包的方法,使用fiddler进行抓包,以前都是http协议的https的不会抓,顺便学习了。

fiddler 抓包请点击: fiddler https 抓包(eclipse)实例

抓包之后发现,demo发出的交易是https长链接,在工商银行demo和文档中均没有体现这一要求。

 

随后我也意识到读取文件流的过程被终止,也就是把长连接现在已短连接的方式链接,自然就是EOF的状态了。

而有几点体会:

1. 和银行对接前置渠道,一般都会选择长连接,应该有这种意识。

2.EOF 不局限在读取文件中,同样在各种流,包括网络传输流的读取。

3.如果链接方式不放置短连接的设置,默认就是长连接的。在这排除中,我遇到3中方式的访问工商前置,均没有设置长连接,如果没有特殊设置,默认就是长连接。

 

 

 

 

 

你可能感兴趣的:(Web后端,java基础)