我在AWS EC2实例上运行Openfire服务器,并且能够从我的移动设备连接到服务器并来回发送消息。当然,由于XMPP是基于客户端-服务器的协议,因此在AWS服务器上运行此流量会产生成本。然而,对于大多数用例,这个成本根本不是很高,因为正常的XMPP节似乎很少超过大约1KB,所以从这一点来说一切都是可以的。
然而,我现在想包括从一个客户端向另一个客户端发送图像的能力。一种方法是使用HTTP服务器,用户A将图片上传到该服务器,然后通过XMPP将图像的URL发送给用户B,以便用户现在可以通过HTTP获取图像。还有其他几种通过XMPP发送图像的方法。然而,我对通过静乐做这件事很感兴趣。
据我所知,Jingle是XMPP的带外点对点扩展。我的简单问题是,由于静乐进行点对点通信,即不使用服务器,用于会话的多媒体方面,我会在AWS上使用静乐从一个客户端向另一个客户端传输多媒体时产生任何数据成本吗?或者换句话说,如果静乐是点对点的,是否有任何数据使用静乐通过我的AWS服务器(除了会话发起、确认、会话终止这一节)?如果不是,这些数据采用哪种类型的路由?如果是点对点的,如何为任何人支付这种流量成本?
发布于 2014-12-05 12:38:07
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带外传输。
https://stackoverflow.com/questions/27308705
复制相似问题