博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XMPP之文件传输报文
阅读量:5244 次
发布时间:2019-06-14

本文共 1573 字,大约阅读时间需要 5 分钟。

最近在做文件传输,遇到只能发送文件到spark,spark发送文件来不能接收,要么一直等待,要么发一下就要重试,这天终于找到问题的所在了我的openfire里面的:服务器->服务器设置->文件传输设置 里面的代理服务被禁用了,应该要使用里面的“使用”这是我同学总结分析出来的传输文件的报文,由于我们两个是一起在做,我就不去抓了,为了记笔记不得不发一下发送文件场景:1,对方拒接2,对方同意接受	2.1对方中途中断接收	2.2我方中途中断发送	2.3发送成功------------------------------拒绝接受A请求向B发送一个文件
B拒绝
not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
------------------------------------同意接受,并完成发送A请求向B发送一个文件。包含一些文件的信息,以及发送文件所使用的stream-method,提供了option,可选项,这里实现了ibb方式,所以只提供这种方式。
B同意接收文件,同时也指明了使用ibb方式
http://jabber.org/protocol/ibb
A发送一个open表示初始化了通道,并通知对方,每一块的data大小为4096(当然,这是指最大的,最后一块可能没有4096)
B回发一个result表示接受。
A接着将发送多次的data,直至将数据发送完毕。注意:data中的seq是发送的第几块数据
数据在这里
B回复一个iq result表示收到上面的data。注意,只有收到B的这个回复,A才会发送下一个data。
...经过多次发送,数据发送完成A将会发送一个close告诉B,数据已经发送完毕了
B回复一个iq result表示知道了
------------------------------------同意接受,但A中断发送前面代码一样的A发送一个close强制中断发送
B返回iq result确认
------------------------------------同意接受,但B中断接收前面代码一样B发送来一个close强制中断接收
A确认收到并停止继续发送
  

  

转载于:https://www.cnblogs.com/xiaolonghome/p/6648937.html

你可能感兴趣的文章
恶心的struts标签,等我毕业设计弄完了,瞧我怎么收拾你。
查看>>
Linux中防火墙centos
查看>>
hudson+apachecontinuum+ant
查看>>
mysql新建用户,用户授权,删除用户,修改密码
查看>>
实验五 TCP传输及加密
查看>>
【iOS】build diff: /../Podfile.lock: No such file or directory
查看>>
【Android Studio】使用 Genymotion 调试出现错误 INSTALL_FAILED_CPU_ABI_INCOMPATI
查看>>
FancyCoverFlow
查看>>
教你一分钟实现动态模糊效果
查看>>
C++中explicit的用法
查看>>
java 企业站源码 兼容手机平板PC 响应式 主流SSM框架 freemaker 静态引擎
查看>>
AliOS编译安装MyRocks
查看>>
JS博客
查看>>
Docx转Doc操作(c#)
查看>>
Docker——error pulling image configuration
查看>>
一条简单的 SQL 执行超过 1000ms,纳尼?
查看>>
Python函数(一)之杵臼之交
查看>>
关于将qt作为max插件ui库所遇到的困难
查看>>
如何设置映射网络驱动器的具体步骤和方法
查看>>
ASP.NET WebApi 基于OAuth2.0实现Token签名认证
查看>>