java读取网络数据流不完整的问题
来源:互联网 发布:vm虚拟机 for mac 编辑:程序博客网 时间:2024/05/21 08:48
在用java的socket读取网络数据流的时候,datainputstream read(byte [] b),数据读取不完整,例如有3W的数据,有可能读到2W时read就解除阻塞,这个问题纠结了好久,终于找到问题所在,并得以解决。
如下是jdk的API:
http://www.cjsdn.net/Doc/JDK60/java/io/DataInputStream.html#read(byte[], int, int)
如下是这位码友对此问题的解读:
http://topic.csdn.net/u/20120316/11/ee58441d-4120-425e-9ed5-462b62733f6f.html
如下是众码友对此问题的解释以及解决方案
http://www.iteye.com/problems/54246
如下是我的解决方案:
int length=read.readInt();byte [] data=new byte[length]; int nIdx = 0; int nReadLen = 0; while (nIdx < length) { nReadLen = read.read(data, nIdx, length - nIdx); if (nReadLen > 0) { nIdx = nIdx + nReadLen; } else { break; } }
- java读取网络数据流不完整的问题
- java中读取缓冲流时接受数据不完整的问题
- 使用ifstream读取文件的数据不完整的问题
- php读取mssql中的text字段不完整的问题
- fread读取yuv图像文件不完整的问题
- 网络数据流的java处理
- 网络数据流的java处理
- 网络数据流的java处理
- 网络数据流的java处理
- 网络数据流的java处理
- 网络数据流的java处理
- 网络数据流的java处理
- RegEnumValue读取注册表不完整问题
- Python2.7.3读取日志信息时发生读取不完整的问题
- java 数据流读取文件
- 数据流的读取
- java处理网络数据流
- Java读取网络数据(新浪网址)InputStream的数据流操作实录笔记(一) 分享出来供大家参考!
- scilab:运算
- 汇编求补8位二进制数
- 实践 TSM 文件备份到 disk 和 tape (改变 mgmt) (一)
- Extjs4.1 环境搭建
- 首届“水果达人”邓毅专访
- java读取网络数据流不完整的问题
- save("vara.txt",[a]) 、load("vara.txt")
- exec 运行脚本文件
- C语言深度解剖(精讲版)——读书笔记21 &&自己的一些理解
- Ubuntu下的使用小技巧
- U盘量产高级玩法
- 管道系统
- c语言中swap问题小结
- 3 编程语言结构