| 发表于:2007-02-16 17:14:42 楼主 |
两台主机相互通信 主机a把数据库返回的dataset数据集序列化后 计算序列化后byte数组的长度 再序列化形成第二个长度为59的byte数组 把两个数组合并后通过networkstream.write向主机b发送 主机b先读取前59个byte 然后反序列化后获得后续的真正数据byte数组长度 从而以此建立固定长度的个缓冲区来接受 byte[] k1 = new byte[59]; byte[] k2 ; 第一次读取 mynetwoekstream.read(k1,0,59); int length =(反序列化)k1; k2 = new byte[length + 59]; 第二次读取 mynetworkstream.read(k2,0,59 + length); 最后通过for循环获得k2中第59位到最后一位的子数组,最终再反序 列化得到dataset 但是当我设置断点后发现 前后两次读取数据流后数组 k1和 k2的前59个元素竟然不同 但应该是一样的啊 求教高手 第一次发贴,可能问题表达的不是很明白:) , 对问题有疑问的可以提问 |
|
|
|
|