我发现问题了就是服务端发给我一些byte[] 然后我去read 接受的时候,这个长度,不能全部接受....
不知道有什么办法可以确保我收到的长度是 它发出来的长度不!!!

解决方案 »

  1.   


    这个怎么用
    我这边的意思是因为要让服务器执行sql语句然后返回一个类给我
    类里面有两个值
    public string command;
    public object values;    //这个可以存储DataSet, string,等等但传给客户端的时候
    把对象序列化成byte[]   我这边传3192个长度,但客户端有的时候会接3192,有的时候 不会接那么多字节
    就进入了反序列化,这样肯定就错误了....
    不知道有什么办法可以让客户端先知道长度 再 接受那么长的字节么???
      

  2.   

    我这边的意思是因为要让服务器执行sql语句然后返回一个类给我
    类里面有两个值
    public string command;
    public object values;    //这个可以存储DataSet, string,等等但传给客户端的时候
    把对象序列化成byte[]   我这边传3192个长度,但客户端有的时候会接3192,有的时候 不会接那么多字节
    就进入了反序列化,这样肯定就错误了....
    不知道有什么办法可以让客户端先知道长度 再 接受那么长的字节么???
      

  3.   

    采用xml或json格式调试下吧,看得懂的东西容易发现错误出在那里
      

  4.   

    哈哈,大一生,这些深奥的 都不懂哈
    我最后 在后面加了句stream.write(读入一个<eof>)
    在那边接的时候stream.read(...)独到<eof>才算结束哈!!
    可以了