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