当前位置: 技术问答>java相关
socket接收二进制数据流的问题!!(在线等待)
来源: 互联网 发布时间:2015-05-18
本文导语: 服务器断不断地给客户端发送二进制测试信息; 当客户端异常中断结束后,再启动,居然有几次收到长度为-1的二进制流,这是怎么回事? 接收的代码就是一行如下: lengTh = DIS.read(dataBuf);//接收服务器端数据 其...
服务器断不断地给客户端发送二进制测试信息;
当客户端异常中断结束后,再启动,居然有几次收到长度为-1的二进制流,这是怎么回事?
接收的代码就是一行如下:
lengTh = DIS.read(dataBuf);//接收服务器端数据
其中
int lengTh;//保存接收到二进制流的长度
DataInputStream DIS;//socket输入流
byte[] dataBuf = new byte[2000];//保证数据不会溢出
想想怎么也不会出现长度为-1的数据流啊?请问高手们到底是怎么回事?
==============================
一家之言,错误难免,仅与阁下共研!
当客户端异常中断结束后,再启动,居然有几次收到长度为-1的二进制流,这是怎么回事?
接收的代码就是一行如下:
lengTh = DIS.read(dataBuf);//接收服务器端数据
其中
int lengTh;//保存接收到二进制流的长度
DataInputStream DIS;//socket输入流
byte[] dataBuf = new byte[2000];//保证数据不会溢出
想想怎么也不会出现长度为-1的数据流啊?请问高手们到底是怎么回事?
==============================
一家之言,错误难免,仅与阁下共研!
|
DataInputStream在数据读完时返回-1,stream中为空时,应该也是-1.
问题应该在服务器端并没有不断地给客户端发送二进制测试信息,是有
间隙的,造成客户端断流.
麻烦你下次把
DataInputStream DIS;
写成这样
DataInputStream dis;
java中变量首字母是小写的,你是c的写法.
问题应该在服务器端并没有不断地给客户端发送二进制测试信息,是有
间隙的,造成客户端断流.
麻烦你下次把
DataInputStream DIS;
写成这样
DataInputStream dis;
java中变量首字母是小写的,你是c的写法.