发送方
FileStream fs = File.Open(@"C:\1.txt",FileMode.Open,FileAccess.Read);
byte[] fileData = new byte[fs.Length];
fs.Read(fileData,0, Convert.ToInt32(fs.Length));
try 

  socket.Send(fileData,fileData.Length,0); 
} 接受方
Int32 port = 1234;
IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];
TcpListener tcpListener = new TcpListener(ipAddress,port);
tcpListener.Start();    
Socket socketForClient = tcpListener.AcceptSocket(); 
//声明接收返回内容的字符串 
string recvStr=""; 
//声明字节数组,一次接收数据的长度为1024字节 
byte[] recvBytes=new byte[200]; 
//返回实际接收内容的字节数 
int bytes=0; 
//循环读取,直到接收完所有数据 
while(true) 

bytes=socketForClient.Receive(recvBytes,recvBytes.Length,0); 
//读取完成后退出循环 
if(bytes<=0) 
break; 
//将读取的字节数转换为字符串 
recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes); 

//将所读取的字符串转换为字节数组 
byte[] content=Encoding.ASCII.GetBytes(recvStr); 
try 
{  
if (content.Length > 0)
{
Console.WriteLine("start write.....") ; 
string fileName="c:/1.txt";
FileStream fs=new FileStream(fileName,FileMode.OpenOrCreate,FileAccess.ReadWrite);
fs.Write(content, 0, content.Length);
fs.Flush();
}
} 接受到的文本文件,大小和内容一样。可是如果是图片,大小一样,但是图片却不能看了