客户端传送的文件流,服务端如何获得流的长度?直接getstream().length提示此流不支持查找操作

解决方案 »

  1.   

    呵呵,贴子提了几次,都没人会哟,不会要客户端首先发送文件的byte长度吧,有没有更好的解决方法?
      

  2.   

    你可以尝试把消息的长度信息转换成byte[]
    并与真正的消息byte[]流合并,形成一个有附加信息的包然后在Client和Server达成共识,认为一个byte[]前20位(举例)是长度信息。
    然后在Server的第一次Receive中把这个byte[20]取出,转换成int就可以了。也可以专门做一个Message类
    提供Message.Pack和UnPack方法来解决这个问题