现在的位置: 首页 > 综合 > 正文

一个异步io中同步调用close造成数据传输不完整的bug。

2013年10月12日 ⁄ 综合 ⁄ 共 249字 ⁄ 字号 评论关闭

某个使用netty作为server通讯,应用在传输大一点的数据时就会出现

org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 29869; received: 15846。

经过仔细分析,原来在接收数据时,程序员显式关闭了连接(同步调用),而netty是异步处理,当连接被显式关闭后,后来的数据再次触发读写操作时连结已经不可用。所以出现读不一完整数据的问题。

抱歉!评论已关闭.