文档章节

综合技术 --xmpp文件传输

求是科技
 求是科技
发布于 2015/06/18 16:47
字数 631
阅读 41
收藏 0

xmpp中的文件传输

http://www.aichengxu.com/view/8686

方案一:把文件先转成nsdata存储,然后再放到nsstring中,以消息的形式发送给对方,对方接收后,将nsstring转回nsdata,然后再转成你需要的格式即可。效率不高,但容易实现。


发送语音图片有三种方法

1.xmpp smack,文件传输方式

2.文本流

3.服务器中转

服务器中转方式:

1.主持人画画,生成图片

2.将图片传到 数据服务器上,指定路径

3.将该指定路径发往xmpp服务器

4.xmpp服务器转发 指定路径 给房间里所有的用户

5.每个用户请求 数据服务器,下载图片直接显示


http://www.cnblogs.com/imlucky/archive/2011/10/20/2218780.html

xmpp是一种xml技术,主要用于解决即时消息发送和接收,xml流技术并不适用于大数据量的传输。

在xmpp中,信息传输是所谓的字符传输;而数据传输则是字节流传输(bytestreams)。

xmpp中,客户端之间文件传输方式有如下三种:

1.xep-0047:In-Band ByteStreams  带内字节流,这个协议适用于小数据量传输,它采用的是字节流传输方式。带内,指的是夹带在xml流中,通过xmpp服务器中转传输,具体做法是将数据用base64编码后放在xml流中传给对方。这个方法不好,base64编码效率低,而且所有的数据必须都由xmpp服务器中转。

2.xep-0066:Out of Band Data 带外字节流,带内不行就走带外,也就是不经过xmpp服务器。具体做法是在发起端临时建立一个http服务(当然也可以是别的服务),将数据放在这个服务器上,将数据服务器的ip和端口通过xmpp消息发送给接收方,让接收方直接去指定地址下载。注意:数据服务器一定要是公网ip,否则接收方无法访问。

3.xep-0065:SOCKS5 ByteStreams  SOCKS5字节流,使用SOCKS5传输文件,有直连方式和代理传输两种方式。发送方将预定的ip和端口(通过xmpp消息)发送给接收方。如果双方都在公网,采用SOCKS5直接传输。如果任何一方在内网,经过SOCKS5代理服务器传输,发送方将代理服务器的ip和端口发送给接收方。


© 著作权归作者所有

共有 人打赏支持
求是科技
粉丝 89
博文 455
码字总数 228619
作品 0
成都
后端工程师
通过XMPP协议实现即时通讯介绍

四种即时通讯协议 概述 目前IM有四种协议:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP。PRIM与XMPP、 SIMPLE类似,...

崔同亮
2014/01/22
0
0
agsXMPP + Openfire 即时通讯开发(二) 【文件传输】

上篇bolg(agsXMPP + Openfire 即时通讯开发(一) 【agsXMPP 连接 Openfire】)中agsXMPP的MiniClient已经可以相互之间进行通讯了,本篇介绍如何进行文件传输。 首先我们需要了解XMPP文件传输...

xiao刀
2016/05/25
175
0
移动 IM 学习笔记[转]

转: http://ruby-china.org/topics/22530 最近在看移动IM相关的资料, 然后发现网上有很多的资料,所以在学习过程中,整理了一些笔记, 供那些 想了解 移动IM的童鞋一些参考。 移动IM技术选型...

强子哥哥
2016/05/25
143
2
Openfire与XMPP协议

什么是OpenFire Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。   您可以使用它轻易的构建高效率的即时通信服务器。Openfire安装和使用都非常简单,并利用W...

postdep
2013/12/25
0
0
Androidpn 简单实现及分析

(文中部分内容来自网络) XMPP协议: XMPP : The Extensible Messaging andPresence Protocol. 中文全称:可扩展通讯和表示协议. 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示...

明舞
2014/08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Win10内部更新:警告用户别用chrome和Firefox

简评:别和 Chrome 和 Firefox 约行不,我 Edge 明明更美、屁股更翘、更性感。。。 微软正在测试 Windows 10 的一个更新:警告用户不要安装 Chrome 和 Firefox。是测试人员发现的这个新警告,...

极光推送
28分钟前
2
0
Java并发编程高阶技术 高性能并发框架源码解析与实战

全网唯一深度解析并发编程框架disruptor底层源码课程,助你成为并发编程高手,拿下高薪 网盘地址下载

qq__2304636824
今天
1
0
day92-20180918-英语流利阅读-待学习

健身最大的敌人不是懒惰,而是逞强 Daniel 2018-09-19 1.今日导读 还记得 2008 年北京奥运会运动员刘翔的退赛风波吗?那天几乎所有中国人都将视线聚焦在了鸟巢体育馆 110 米栏的项目上,迫不...

飞鱼说编程
今天
8
0
70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
3
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部