XMPP文件传输协议笔记
2019独角兽企业重金招聘Python工程师标准>>>
-(void)queryNextProxy0096{XMPPLogTrace();state = STATE_PROXY_DISCO_0096;
// <iq type='set' id='offer1' to='receiver@domainopenfire/Spark 2.6.3'' from="">
// <si xmlns='http://jabber.org/protocol/si'
// id='uuid'
// mime-type='text/plain'
// profile='http://jabber.org/protocol/si/profile/file-transfer'>
// <file xmlns='http://jabber.org/protocol/si/profile/file-transfer'
// name='test.txt'
// size='1022''>
// <desc>This is a test. If this were a real file...</desc>
// </file>
// <feature xmlns='http://jabber.org/protocol/feature-neg'>
// <x xmlns='jabber:x:data' type='form'>
// <field var='stream-method' type='list-single'>
// <option><value>http://jabber.org/protocol/bytestreams</value></option>
// <option><value>http://jabber.org/protocol/ibb</value></option>
// </field>
// </x>
// </feature>
// </si>
// </iq>XMPPJID *xmppJid = nil;xmppJid = jid;XMPPIQ *iq ;NSXMLElement *si = [NSXMLElement elementWithName:@"si" xmlns:@"http://jabber.org/protocol/si"];[si addAttributeWithName:@"id" stringValue:uuid];[si addAttributeWithName:@"mime-type" stringValue:@"text/plain"];[si addAttributeWithName:@"profile" stringValue:@"http://jabber.org/protocol/si/profile/file-transfer"];NSXMLElement *file = [NSXMLElement elementWithName:@"file" xmlns:@"http://jabber.org/protocol/si/profile/file-transfer"];[file addAttributeWithName:@"name" stringValue:[sendFileDic objectForKey:@"name"]];[file addAttributeWithName:@"size" stringValue:[sendFileDic objectForKey:@"size"]];NSXMLElement *des = [NSXMLElement elementWithName:@"desc" stringValue:@"test"];[file addChild:des];NSXMLElement *feature = [NSXMLElement elementWithName:@"feature" xmlns:@"http://jabber.org/protocol/feature-neg"];NSXMLElement *x = [NSXMLElement elementWithName:@"x" xmlns:@"jabber:x:data"];[x addAttributeWithName:@"type" stringValue:@"form"];NSXMLElement *field = [NSXMLElement elementWithName:@"field"];[field addAttributeWithName:@"var" stringValue:@"stream-method"];[field addAttributeWithName:@"type" stringValue:@"list-single"];NSXMLElement *option1 = [NSXMLElement elementWithName:@"option"];NSXMLElement *value1 = [NSXMLElement elementWithName:@"value" stringValue:@"http://jabber.org/protocol/bytestreams"];[option1 addChild:value1];[field addChild:option1];NSXMLElement *option2 = [NSXMLElement elementWithName:@"option"];NSXMLElement *value2 = [NSXMLElement elementWithName:@"value" stringValue:@"http://jabber.org/protocol/ibb"];[option2 addChild:value2];[field addChild:option2];[x addChild:field];[feature addChild:x];[si addChild:file];[si addChild:feature];[self updateDiscoUUID];iq = [XMPPIQ iqWithType:@"set" to:jid elementID:discoUUID child:si];[iq addAttributeWithName:@"from" stringValue:[xmppStream.myJID full]] ;[xmppStream sendElement:iq];
}
转载于:https://my.oschina.net/u/868062/blog/344146
XMPP文件传输协议笔记相关推荐
- XMPP文件传输(XEP-0096协议说明)
XMPP XEP-0096协议是XMPP中的文件传输协议. 关于文件传输,在xmpp协议中有不少协议可以实现,而XEP-0096协议是其中非常简单的一个协议.由于邮件被删,我的代码dem ...
- 【学习笔记】网络层:应用模型、DNS系统、文件传输协议FTP
文章目录 一. 应用层概述 ① 客户/服务器(C/S)模型 ② P2P模型(对等模型) 二. DNS系统 ① 定义 ② 域名 ③ 域名服务器 ④ 域名解析过程 三. 文件传输协议FTP ① 定义 ② ...
- 华为数通笔记-文件传输协议FTP
文件传输协议 主机之间传输文件是IP网络的一个重要功能,如今人们可以方便地使用网页.邮箱进行文件传输. 然而在互联网早期,Web(World Wide Web,万维网)还未出现,操作系统使用命令行的时 ...
- 网络协议从入门到底层原理(10)WebSocket、WebService、RESTful、HTTPDNS、FTP文件传输协议、邮件相关协议、IPv6
其他协议 WebSocket WebSocket - 建立连接 WebService RESTful HTTPDNS FTP文件传输协议 邮件相关的协议(SMTP.POP.IMAP) POP vs I ...
- Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1...
相关文章导航 Sql Server2005 Transact-SQL 新兵器学习总结之-总结 Flex,Fms3相关文章索引 FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统 ...
- ios xmpp 文件传输
jabber/XMPP文件传输的一些情况 1 jabber/XMPP文件传输的一些情况 大家知道,Jabber/XMPP是一种 XML流技术,解决的问题主要是即时消息和出席信息,XML流技术并不适用于 ...
- 简单文件传输协议TFTP分析还原
" 介绍TFTP协议及传输内容的还原." TFTP,全称为Trivial File Transfer Protocol,即简单文件传输协议,是一个用来在客户端与服务器之间进行简单文 ...
- 知名文件传输协议 SCP 被曝存在 35 年历史的安全漏洞
基于 SSH 的文件传输协议 SCP(Secure Copy Protocol)被曝存在安全漏洞. 安全研究人员公布了 SCP 存在的多个漏洞,这些漏洞可以结合起来利用,分别为 CVE-2018-20 ...
- [转]文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
转自:http://blog.csdn.net/soarheaven/archive/2008/12/08/3474152.aspx 最近项目需要对FTP服务器进行操作,现把实现总结如下: 打算分2篇 ...
最新文章
- Kaggle竞赛中使用YoloV5将物体检测的性能翻倍的心路历程
- @Transactional-同一个类中方法自调,调用方法事物失效
- SAP RM07扩展
- mapreduce 文件可以切分吗_MapReduce的任务流程
- mysql开方_MySQL数学函数的实际用法
- js 获取域名_RapidDNS域名查询如何联动Goby
- viewBox视图缩放(1)
- 邮箱用户名登录php,让WordPress支持用户名或邮箱登录
- Git教程——查看修改日志 (log diff)
- wdcp 开启某个Mysql数据库远程访问
- K8s(3):资源清单
- 使用Excel 2007绘制甘特图
- 变量之间的相关性度量
- 清明时节雨纷纷路-清明节习俗、诗词欣赏
- 仿Android端饿了么外卖的效果
- 曝大S汪小菲婚宴初定汪小菲三亚顶级酒店
- TRUNCATE 命令用法
- java list 子集_一个List的全部子集
- 我总是那么傻,爱的那么真,最后伤了自己:情感日志
- ABAP Docking Control Container开发实例