socket通讯,客户端获取数据丢失问题
来源:互联网 发布:淘宝店铺的客服电话 编辑:程序博客网 时间:2024/06/05 09:04
客户端与服务端建立连接后,从服务端获取byte[],数据量在63757以上发现只能获取部分剩下的全部都是空,
上面的代码是这样写的
byte rcvData[] = new byte[len];
rd.read(rcvData);
result = new String(rcvData,"gbk");
我的理解是socket获取到了这么多数据,但是流在写入的时候有限制
解决方式:分段获取
具体代码: byte rcvData1[] = readBytes(rd,len );
result = new String(rcvData1,"gbk");
readBytes从网上拷贝一段即可,例如
public static byte[] readBytes(InputStream in, long length) throws IOException {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int read = 0;
while (read < length) {
int cur = in.read(buffer, 0, (int)Math.min(1024, length - read));
if (cur < 0) { break; }
read += cur;
bo.write(buffer, 0, cur);
}
return bo.toByteArray();
},得到的rcvData1[]
- socket通讯,客户端获取数据丢失问题
- Android 客户端socket通讯
- C# Socket异步通讯客户端之发送数据
- C# 串口通讯的数据丢失和同步异步问题
- Socket客户端和服务端通讯 要求客户端发送数据后回显同样数据
- socket通讯 客户端和服务端
- 【C#】 Socket通讯客户端程序
- Socket客户端和服务端通讯
- socket实现服务端客户端通讯
- 客户端之间通讯问题
- 【socket】获取客户端IP
- 客户端获取服务器数据中文乱码问题
- Socket的通讯收发文件数据(含服务端和客户端)
- Erlang 编程之socket 单用户客户端通讯
- Java Socket通讯客户端代码详解
- socket实现服务端与客户端的通讯
- Java Socket 模拟客户端与服务器端通讯
- Socket之服务器和客户端通讯
- 基于ntkoocx.js的在线word编辑
- ios创建证书文件
- linux系统安装、使用中的问题和clock_t计时问题
- 11A - Increasing Sequence
- sed命令
- socket通讯,客户端获取数据丢失问题
- ubuntu10.04 编译安装gcc-5.3.0
- 在android中使用OkHttp框架处理网络请求
- 【BZOJ】2005 [Noi2010]能量采集
- static int 输出
- redis 配置文件
- 推荐大家使用的CSS书写规范、顺序
- 2016 Multi-University Training Contest 1 1002 Chess
- 视差滚动Parallax