还是socket问题,收到的数据不对 接收数据的多少取决于你定义的接收用的数据组的大小:byte [] RecvBytes = new byte [10000];你发送端一直在发送,所以read函数会阻塞接收,知道接满10000或超时返回。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int firstChar = localInputStream.read();int nLength = localInputStream.available();byte[]array = new byte[nLength+1];array[0] = (byte)firstChar;localInputStream.read(array, 0, nLength);Log.i("Data Length", Integer.toString(nLength));这样的话,里面数据也还是不对啊,我是想接收一帧的数据~ 你对Socket的用法是错误的,至少我这么认为。available方法只是返回当前已经被缓存接收的数据量,而不是发送端所发送的所有数据量,故,你用该方法的返回值作为生成接收缓冲区是不正确的。如果你非要接收固定的数据,那么需要分开通讯。比如你要发送1024个字节的数据,你先发送诸如:"bytes:1024"的信息给接收端,接收端取到该信息,解析数据量,之后根据该数据量接收后面发送的数据。 android新手,URL问题。 android截取SD卡图片或者拍照能按照任意宽高截取吗? 求一个ANDROID手机上面的软件 求助:修改android framework源码时的出错问题 关于精灵移动的问题 控制EditText的焦点放在指定位置 ListFragment中onListItemClick没有响应 Android中字体大小的计算 ImageView动态加载图片资源的问题…… 有了解游戏内支付的大哥吗。。 android hello world报错 windows 7系统可以安装andorid 开发环境吗?
int firstChar = localInputStream.read();
int nLength = localInputStream.available();
byte[]array = new byte[nLength+1];
array[0] = (byte)firstChar;
localInputStream.read(array, 0, nLength);
Log.i("Data Length", Integer.toString(nLength));这样的话,里面数据也还是不对啊,我是想接收一帧的数据~
available方法只是返回当前已经被缓存接收的数据量,而不是发送端所发送的所有数据量,故,你用该方法的返回值作为生成接收缓冲区是不正确的。如果你非要接收固定的数据,那么需要分开通讯。比如你要发送1024个字节的数据,你先发送诸如:"bytes:1024"的信息给接收端,接收端取到该信息,解析数据量,之后根据该数据量接收后面发送的数据。