Jingle (XEP-0166): 是否有任何多媒体数据通过我的服务器,如果没有,谁为数据付费



我在 AWS EC2 实例上运行 Openfire 服务器,能够从我的移动设备连接到服务器并来回发送消息。当然,由于 XMPP 是基于客户端-服务器的协议,因此通过 AWS 服务器运行此流量会产生成本。但是,对于大多数用例,此成本根本不高,因为正常的 XMPP 节似乎很少超过 1 KB,因此从这一端开始一切都可以。

但是,我现在想包括将图像从一个客户端发送到另一个客户端的功能。一种方法是使用 HTTP 服务器,用户 A 将图片上传到该服务器,然后通过 XMPP 将图像的 URL 发送给用户 B,以便用户现在可以通过 HTTP 获取图像。还有其他几种通过 XMPP 发送图像的方法。但是,我有兴趣通过Jingle来做到这一点。

据我了解,Jingle 是 XMPP 的带外点对点扩展。我的简单问题是,由于 Jingle 对于会话的多媒体方面进行点对点通信,即不使用服务器,我什至会在 AWS 上使用 Jingle 将多媒体从一个客户端传输到另一个客户端产生任何数据成本吗?或者换句话说,如果 Jingle 是点对点的,是否有任何数据使用 Jingle 通过我的 AWS 服务器(会话启动、确认、会话终止节除外(?如果不是,这些数据采用什么样的路线,如果是点对点的,如何向任何人收取此流量费用?

Jingle 是一种协商机制,它可以协商几种不同的传输以进行文件传输。最常见的传输是 http://xmpp.org/extensions/xep-0260.html 中定义的点对点字节流 - 在这里,您通过服务器看到的唯一流量是叮当声协商,它与其他 XMPP 流量类似(。还有一些客户端将使用的带内字节流 http://xmpp.org/extensions/xep-0261.html 传输 - 通常用于较小的传输,因为它效率低下,但具有在具有NAT和防火墙的敌对网络中工作的优势。如果您控制客户端,则简单地不支持IBB将是确保流量不会通过服务器的最佳选择。如果你不这样做,我建议配置你的服务器来阻止IBB流量。

我还注意到,运行服务器端代理将大大增加 260 中带外机制在面对敌对网络时工作的几率,以服务器带宽为代价。

还有部署不广泛的带外传输 http://xmpp.org/extensions/xep-0343.html。

最新更新