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中方式的访问工商前置,均没有设置长连接,如果没有特殊设置,默认就是长连接。

 

 

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值