XMPP 两个客户端实现文件传输
2015-09-08 16:36
274 查看
文件传输:包括音频,图片,doc文件等的传输
方式1
在message里面放文件,但是message里面只可以放字符串。
解决办法1:
把文件都转成base编码后再字符串,然后把字符串放进body。这个方法不好。只可以针对小数据,一般一两兆以上的就不要用这个方法。
解决办法2:
先把图片,音频,图片,doc文件等的上到服务器。返回URL,body里面放对应文件的URL路径就可以了。
注意点1:在message里面添加对应文件的标签。例如 bodyType = “image” ,bodyType = “voice ”
messageStr = "<message type=\"chat\" to=\"aaa001@simon.local\"><body>\U963f\U8fbe</body></message>";
这样子操作就可以了。
方式1
在message里面放文件,但是message里面只可以放字符串。
解决办法1:
把文件都转成base编码后再字符串,然后把字符串放进body。这个方法不好。只可以针对小数据,一般一两兆以上的就不要用这个方法。
解决办法2:
先把图片,音频,图片,doc文件等的上到服务器。返回URL,body里面放对应文件的URL路径就可以了。
注意点1:在message里面添加对应文件的标签。例如 bodyType = “image” ,bodyType = “voice ”
messageStr = "<message type=\"chat\" to=\"aaa001@simon.local\"><body>\U963f\U8fbe</body></message>";
#pragma mark MessageTextViewDelegate XMPP发送数据 -(void)sendMessageText:(NSString *)text withBoty:(NSString *)botyDaty{ #warning XMPP发送数据 //chat 是单聊 XMPPMessage *msg = [XMPPMessage messageWithType:@"chat" to:self.friendJID]; //添加属性 [msg addAttributeWithName:@"bodyType" stringValue:botyDaty]; //设置内容 [msg addBody:text]; [[XMPPSingleton sharedInstance].xmppStream sendElement:msg]; }
这样子操作就可以了。
相关文章推荐
- Spring Assert(方法入参检测工具类-断言)
- NIO框架之MINA源码解析(三):底层通信与责任链模式应用
- Java多线程之七锁
- 1062 - Duplicate entry '20150820048' for key 'goods_serial'
- EF使用时异常:对一个或多个实体的验证失败。有关详细信息
- jquery笔记之属性选择器 查找以某种条件开头的页面元素
- nimi SearchEngin 项目思路及算法
- Treasure Hunt - POJ 1066(线段相交判断)
- PN结的形成及其单向导电性.md
- 15_09_08 Log.i();初学者易范错误
- 九度题目1207:质因数的个数
- 智能指针(二):shared_ptr实现原理
- 解决:java.lang.OutOfMemoryError: Java heap space JVM虚拟机堆栈内存溢出
- C#的DataGridView中,设置固定的列宽,自动填充宽度
- Eclipse 调整java文件字体大小
- 一个合格的测试员应该具备哪些技能?
- Sqlite 插入数据太慢
- NIO框架之MINA源码解析(二):mina核心引擎
- .jar/war/ear包的区别
- java实现文件下载