赞
踩
C# socket通信只能传输的字节流,所以 我们若是想利用socket传输任何东西,都必须将之以字节的形式进行传输
So 本文就抛砖引玉一下,以传输图片的形式来示范一下,socket传输除文本数据以外的数据 嘻嘻~~~
- private byte[] fssize;
- FileStream fs = new FileStream("D:/girl.jpg",FileMode.OpenOrCreate,FileAccess.Read);
- Msg.fssize = new byte[fs.Length];
- BinaryReader strread = new BinaryReader(fs);
- strread.Read(Msg.fssize,0,Msg.fssize.Length);
上边4行代码做了这么几件事情:
- //这里开辟了1M的字节空间 也就是一次图片的传输最大是1M大小
- byte[] bytes = new byte[1024*1024];
- int got = Soc_Temp.Receive(bytes);
- // 将接受到的数据写入内存
- MemoryStream fs = new MemoryStream();
- fs.Write(bytes,0,got);
- //使用Image类从内存中再次将数据读出来并保存为jpg图片
- //注意 这里 无法保存在C盘
- Image Img = Image.FromStream(fs);
- Img.Save(desPathName,ImageFormat.Jpeg);
- Debug.Log("保存完毕!!!");
- //记得关闭流对象的哦
- fs.Close();
注意,这里使用Image类下的save方法,不能将数据保存在C盘,我之前就是在这里卡住了
,切记.切记
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。