我现在做了个wcf的程序,可测试的时候发现数据量比socket的大好几倍(8倍左右),不知道wcf的数据包是否可以减小到socket数据包到大小啊?该如何实现? 
我已经采用如下方式讲数据先序列化为二进制再压缩,但占用带宽只比不做下面的处理减少一半,好像只是压缩部分起了作用 
// obj to byteCom[]  
        public byte[] ObjectToBufferCom(object obj) 
        { 
            using (MemoryStream ms = new MemoryStream()) 
            { 
                IFormatter formatter = new BinaryFormatter(); 
                formatter.Serialize(ms, obj); 
                byte[] buffer_all = ms.ToArray(); 
                byte[] bytes_c = Compression(buffer_all, CompressionMode.Compress); 
                return bytes_c; 
            } 
        } 
采用的协议是tcp,好像消息封装默认的就是二进制了吧? 
wcf消息比socket的大几倍的主要原因是不是soap封装搞大的啊? 
如果采用流点方式传送,是否soap封装的包就不会如此大?(流自己还没有测试,因为可能数据到达的及时性没tcp好) 
请大家给我指点下吧? 
非常感谢!