SOCKET 服务端程序获取客户端传来的BYTE流 如何获取其长度 byte[] buffer当在接收端取到buffer后,buffer.length不就是长度了么很简单啊,不知道是不是理解清楚你的意思了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可是在接收的时候,这个byte[] buffer,没有初始化,是不行,你有没有具体试过· 问题OK了DataInputStream dis= new DataInputStream(new Socket().getInputStream);byte buff[]= new byte[1024];int i = dis.read(buff); 谁能知道客户端会传来多大的byte[]?只能尽量的定长一些 byte[]定义多长没关系的,每次读如长度是有返回值的,这个值最大是byte[]的大小,也就是说你可以循环读取,每次读入的长度最长是byte[]的长度(可能小于这个长度),累加读入长度直到读完,最后得到读入累计,也就是你所需要的读入数据的总长度.事实上,如果数据流很大的时候不可能一次读完,缓冲区也不可能长到能容纳任何长度的数据.缓冲区(byte[])是用来缓冲每次读入的数据的,而不是非得一次读完所有的数据到byte[]中.上面有几个贴对byte[]的作用可能没有完全理解清楚. 数字比较问题 新手求助 一个Java试题,判断航班日期的,求解! 一个递归的面试题有答案,可看不懂,请高手解析下原理 如何在jsp新闻发布中动态生成html 利己线程?? httpclient help---谁能解决这个问题,我给1000分,国庆前结帐,拜托各位帮忙顶一下,谢谢! 谁有编译成exe文件的经验??大家讨论讨论!!(俺用的是JET)。 关于导入不同包中同名类的问题 为什么线程有时候唤不醒??? 为何用java调用mysql中表的列名(rs.getString("column_name"))出错?
DataInputStream dis= new DataInputStream(new Socket().getInputStream);
byte buff[]= new byte[1024];
int i = dis.read(buff);
事实上,如果数据流很大的时候不可能一次读完,缓冲区也不可能长到能容纳任何长度的数据.缓冲区(byte[])是用来缓冲每次读入的数据的,而不是非得一次读完所有的数据到byte[]中.
上面有几个贴对byte[]的作用可能没有完全理解清楚.