日期:2014-05-17  浏览次数:20994 次

求思路,C#网络socket编程图片的传输问题
最近在做的一个课程设计,刚刚接触到网络编程,有很多地方不是很懂,遇到了一些问题。
简单描述一下,A电脑作为Server端,为一图片服务器,上面有许多图片资源;B,C电脑为Client端。B,C通过socket与A建立连接,然后可以获取A中指定文件夹中的图片资源列表,选中相应的图片后,即可传送到客户端。
注意,是传送到客户端,并不是像FTP那样下载到本地的。就是说图片变为字节流传输,客户端接受字节流,然后直接把图片显示在picturebox中,而不进行下载。
请各位大侠们给点思路,不胜感激啊

------解决方案--------------------
你可以搜一下如何把图片变为 byte[] 或者写入 Stream。
------解决方案--------------------
思路:服务端将图片转字节流,Socket通信发送这个字节流,客户端收到后还原成图片。
------解决方案--------------------
byte[] fb;
  OpenFileDialog ofd = new OpenFileDialog();
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    textBox1.Text = ofd.FileName;
                    fb = File.ReadAllBytes(textBox1.Text);
}
------解决方案--------------------
socket传输的本质 是 byte[]   因此任何数据最终需要转换成字节流  Bitmap也不例外  序列化Bitmap
------解决方案--------------------
楼主对一些概念不够了解啊,下载就是从服务器到客户端的传输,与存到磁盘无关。
像这样的需求,服务端可以直接使用现成的FTP服务软件,还可以控制权限
客户端编程使用FTP传输方式就好了
------解决方案--------------------
引用:
关键是怎么把图片转换的字节流再重新转换成图片,显示在picture上呢?如何做到有序的处理

PictureBox.Image本来就有现成的方法跟流交互的多个方法,你都懒得自己搜一下吗?
------解决方案--------------------
完整代码可以参考这个博客:
http://www.cnblogs.com/zhaoblogs/archive/2011/11/18/2254196.html