Socket连接中,如何读取对方发送过来的二进制(byte[])类型数据流?(一定给分)
对方发送过来的是byte[]类型的二进制数据流
我这边定义输入流等相关变量是
int length = 0;//存放接收到的消息字节长度
byte[] dataBuf = new byte[1000];//可以保证对方的数据不会超过1000字节
DataInputStream DIS;
……
DIS.read(dataBuf);
……
用DIS.read(dataBuf);则可以将数据流存在dataBuf里面,但是长度无法得到,请问该如何得到收到的数据流长度,将其存入length变量?
一定给分
问题点数:50、回复次数:5Top
1 楼alphazhao(迷路飞羊)回复于 2002-04-22 09:45:33 得分 50
看看用
length = DIS.read(dataBuf);
行不行Top
2 楼milufeiyang(迷路飞羊)回复于 2002-04-22 09:47:49 得分 0
我用过了,似乎不行Top
3 楼keios(C->C++->java->C 循环中)回复于 2002-04-22 09:54:13 得分 0
read返回长度吧?Top
4 楼aprim(四楞子)回复于 2002-04-22 09:56:57 得分 0
你们必须遵守一个协议,举一个例子,发送放以\u07结束,那么你就以\u07来判断结束。这样你才能得到流的有效长度Top
5 楼milufeiyang(迷路飞羊)回复于 2002-04-22 10:12:52 得分 0
faint
原来是我弄错了
可以用alphazhao所说
结贴Top




