需要在最近的项目中使用openfire为了即时消息,但项目要求用户在服务器中备份传输的各种数据,并支持离线文件的发送和接受。阅读一些在线信息openfire是不支持离线文件的传递,它是socks实现代理服务器P2P协议的文件传输。因此,我们只能自己实现这一功能,整理思路:
1,开发Openfire插件,使用http/ftp协议发送和接收离线文件。目前还没有评估这个工作量有多大,可靠性有多大等等。我更倾向于Http协议,看了ftp协议与http协议的比较,ftp更适合大文件的传输,Http更适合小文件的传输。项目中没有可预见的大文件,最多只有几个M,所以http足已;
2.能否将所有文件编码压缩并转换为String然后直接去数据XMPP新闻通道。因为我以前做过Androidpn推送(也是基于Openfire推送服务器)项目需要推送照片等文件。当时我的解决办法是把图片文件编码压缩成String推送后,客户端接受压缩转换...这种处理也不错,试几十兆的图片也没问题。但是这个项目可能遇到的文件种类不多,不知道这个想法是否可行;
3,<朋友的思路> 当用户离线时,服务器伪造一个握手的信息给发送端,让发送方把文件传递到服务器,当接受方上线时,检测该用户是否有未接收的离线文件,如有就立即发送给他。(如果用户特别多,服务器压力是否太大??)
4.看下面这篇文章,我觉得这是普遍的方法之一。
本周需要确定计划。
/*********************************************************************************************************************************************************************************
以下转载:
http://blog.sina.com.cn/s/blog_48c49d5d0100rhdr.html