发送方
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();
}
} 接受到的文本文件,大小和内容一样。可是如果是图片,大小一样,但是图片却不能看了
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();
}
} 接受到的文本文件,大小和内容一样。可是如果是图片,大小一样,但是图片却不能看了
解决方案 »
- 关于dataColumn的DefaultValue属性的问题。
- 简明的说一下“泛型”
- C#用正则表达式提取网页http://arxiv.org/list/astro-ph/new 里所有文章的链接,保存在数组中并存入数据库,再下载保存链接的pdf
- 问个正则表达式
- 请教一个关于进程的问题
- 在线等winform中两个listbox拖拽列表项问题
- 我写的一个产生灵异现象的代码,看我中华,有谁能解释这个灵异现象!
- 请熟悉Java的朋友进来帮下忙,分不够再开帖给
- 怎样知道系统中安装了哪些程序?
- 水晶报表中能自己填充数字吗?
- 关于iewebcontrol treeview的使用
- 2005安装的问题,郁闷...
recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes);
}
//将所读取的字符串转换为字节数组
byte[] content=Encoding.ASCII.GetBytes(recvStr);
我觉得这地方有问题