开发者社区> 问答> 正文

java程序在服务器上接收到的数据怎么只有实际的一部分,中间数据不知道在哪个地方被截断了,求大神

在服务器上用tcpdump抓端口监听包数据如下qq2.png java程序获得数据,数据明显被截断了如下: qq1.png

抓包的数据用wireshark查看的图片如下:QQ3.png

服务器使用centos+tomcat7.0 java使用nanohttpd监听post 相关代码部分: @Override public Response serve(IHTTPSession session) {

BufferedInputStream iii = (BufferedInputStream) session.getInputStream();

        byte[] buffer = new byte[blkLen];
        try {
			iii.read(buffer, 0, blkLen);
			//iii.close();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

上面就是获得的buffer里的数据被截断了

展开
收起
游客237hhfwgz4se2 2020-03-04 15:12:20 1610 0
1 条回答
写回答
取消 提交回答
  • 你应该while一直读. 读到返回 -1

    2020-03-06 08:00:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载