将图片转换成数据流发送给客户端?该如何解决

将图片转换成数据流发送给客户端?
本帖最后由 VisualEleven 于 2012-04-11 09:36:38 编辑
socket通信的一个程序,客户端是在IOS平台上开发的,服务器是在windows下开发的,现在服务器要向客户端发送图片,怎么将其转换成数据流的方式发送过去?如果能给点代码,那就非常感谢了,因为我是初学者。普通的txt可以读取出来并发送,但是收到的也只是文件内容。
------解决方案--------------------
把图片转成文件,然后发送文件不行吗?
BYTE*
------解决方案--------------------
文件本身就是数据流啊
可以读一点发一点
------解决方案--------------------
引用:
引用:

把图片转成文件,然后发送文件不行吗?
BYTE*


是这样改么:BYTE *data=new BYTE[fileInfo.fileLength];
然后 send(connectSocket,(char*)&data[idx],nLeft,0);
客户端那边收到的内容显示为乱码,请问是什么问题

是这样改,只是你在WINDOWS下用记事本打开图片文件也是个乱码,客户端得用图形软件打开才可以看到图片
------解决方案--------------------
客户端收到数据后直接按服务器上的扩展名保存就行了.然后再用图形软件打开.你不能在客户端接收的数据缓冲区里看数据内容,那样看肯定是乱码
------解决方案--------------------
一个文件肯定不能一下子都发过去
所以先要告诉对方我要给你发文件
文件名和文件长度等信息
然后一个数据包一个数据包的传
每个数据包都要有格式定义
对方也根据定义把有效数据取出来写到硬盘上

这个过程就是协议啊