前不久刚根据几位论坛中的朋友的建议在发送文件时进行了协议的定义
但是现在出现了一些问题,希望大家帮助下
在解析协议时有时无法正确解析
在协议中小弟只规定了传输信息的长度,其他的都没定义。谁能给点建议

解决方案 »

  1.   

    receivecSocket.Receive(byte[] buffer)byte[] blbuffer=new byte[4];
    Array.Copy(buffer,0,blbuffer,0,4);
    Econdig.UTF8.GetString(blbuuer);在这里的时候就出错了
      

  2.   

    判断buffer的长度tcp中接收数据要考虑是否沾包  仅仅自己定义消息协议是不够的  还要处理接受的数据是否完整等等。。
      

  3.   

    不好意思,我的buffer长度绝对要大于4的,因为编码的机器和这个不是一个,不大方便帖出全部代码。单是在前边已经判断过了数据长度和缓存长度了。