scoket传送文件问题

我用的是2003.NET,用SCOKET传送图片的时候在服务器端读取出来的大小是对的,但是通过SCOLET发送到客户端以后体积剧增,848K变成了2.14MB。请问这是怎么回事啊?通过READINT32()发现里面多了很多值为“0”的数据,这是.NET自己加上去的吗?
请问该怎么解决呢?谢谢了
[153 byte] By [liaoxing168] at [2008-1-9]
# 1
怎么没人进来看下呢?
自己顶!!
liaoxing168 at 2007-10-19 > top of Msdn China Tech,.NET技术,C#...
# 2
高手帮帮忙吧,郁闷至极
liaoxing168 at 2007-10-19 > top of Msdn China Tech,.NET技术,C#...
# 3
Socket?

查一下代码吧
rtdb-东临碣石 at 2007-10-19 > top of Msdn China Tech,.NET技术,C#...
# 4
^^int32是4个字节,如果不满足4个字节他会前面补0~
jx0797-... at 2007-10-19 > top of Msdn China Tech,.NET技术,C#...
# 5
呵呵,你读的时候是不是缓存开的太大了?
TcpClient ConnToDS = new TcpClient(DSIP, 7458);
byte[] t = Encoding.ASCII.GetBytes(_req);
NetworkStream ns = ConnToDS.GetStream();
ns.Write(t, 0, t.Length);
string cr = "";
//从DS取得好友列表消息
if (ns.CanRead)
{
byte[] r = new byte[ConnToDS.ReceiveBufferSize];//*
int size = ns.Read(r, 0, ConnToDS.ReceiveBufferSize);//*
cr = Encoding.UTF8.GetString(r, 0, size);//*
}
//MessageBox.Show(cr);
return cr;

标星号的三句要注意。