0

我目前正在研究 xmppframework,要求是在两部 iPhone 之间传输文件。我搜索了 XEP,发现 0065 和 0096

XEP-0065 说:

XMPP 是为在网络实体之间发送相对较小的 XML 块而设计的,而不是为发送二进制数据而设计的。然而,有时希望将二进制数据发送到在 XMPP 网络上发现的另一个实体(例如,发送文件)。因此,拥有一个通用协议来在 XMPP 网络上的任意两个实体之间流式传输二进制数据是很有价值的。这种字节流技术的主要应用是 SI 文件传输 [1] 和 Jingle 文件传输 [2] 中指定的文件传输。 但是,其他应用程序也是可能的,这就是为什么开发通用协议而不是专门用于特定应用程序(如文件传输)的协议很重要的原因。

请看粗体线,如果文件传输 XEP 是 SI File Transfer(0096) 和 Jingle File Transfer(0234),我会感到困惑,那么这个 0065 XEP 的目的是什么?为什么网上的人会提到 sep-0065 进行文件传输?

4

2 回答 2

5

在 XMPP 中有用于文件传输的不同协议 (XEPS)。叮当声、字节流、OOB、IBB...

XEP-0096 的目的是流启动。因此,它建立在其他文件传输协议之上,以实现无缝文件传输。

因此,它用于在 2 个客户端之间就上述文件传输协议之一达成一致以进行传输,并且还用于在由于任何原因失败时寻找回退方法。

亚历克斯

于 2012-07-18T17:03:11.673 回答
0

XEP-0065 用于代理文件传输:除非您使用公共代理,否则您的基础架构中将需要这样的代理。

XEP-0096 要复杂得多,我不建议一开始就这样做,尽管如果您以后广泛使用大型二进制传输/交换,我会推荐它,因为 Jingle 至少用于 VoIP。

于 2012-07-18T16:03:01.117 回答