服务器和客户端怎么样传和收图片

C++语言 码拜 9年前 (2015-10-20) 1347次浏览
最近在用C++、Qt、boost::asio写一个服务器程序和客户端程序,来实现服务器图片,然后客户端接收图片的功能。

本人觉得有两种方法可以实现。

一种是,把图片传到其他的服务器上(如QQ空间),然后保存图片的URL至本人实现的服务器所在电脑的数据库中,当客户端请求图片时,本人实现的服务器把URL传给客户端,客户端程序直接把接收的URL赋值到QML中的Image组件的source属性来访问图片

另一种是,本人的服务器是真正的服务器,图片存在服务器所在电脑的本地文件夹中,当客户端请求图片时,服务器将图片转为二进制文件,再通过boost::asio传递给客户端,客户端收到二进制文件,再恢复为图片。

这两种方法哪一种好一些?

第二种方法中,怎么样把图片转为二进制?

asio库中已经可以通过TCP协议传递字符串,但它可以传二进制文件吗?假如可以,是不是本人还要完成应用层协议来传?

知道一点就答一点,谢谢大家。

解决方案:30分
1、可以使用ftp服务器,把文件传到ftp服务器上,你只关注ftp client的使用接口即可

2、本人写代码实现传输:读文件流,封装成协议,发送,另一端:接收,写文件

解决方案:10分
你服务器能承受这么大的流量吗,不能就存url,能就存服务器上

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明服务器和客户端怎么样传和收图片
喜欢 (0)
[1034331897@qq.com]
分享 (0)