2013-02-27 28 views
3

我想创建一个基于论坛的群聊应用android.I需要能够通过聊天画和发送语音消息。选择正确的聊天协议实施

我很困惑IRC和XMPP之间的聊天协议使用。有人请在这方面给我建议。

我觉得IRC更适合我的应用程序,因为它主要是为讨论论坛上的群组通信而设计的,但我不确定IRC是否支持除文本消息之外的其他任何内容。

+0

不确定这与XMPP中的聊天室有什么不同。其中还支持各种语音和其他二进制数据传输。 – Robin 2013-02-27 16:11:50

回答

2

您可以使用编码系统以纯文本形式发送任何类型的二进制数据(图像,声音等),例如Base64。

您必须注意选择的编码字符域不会与您的协议方法相冲突以分隔消息。其他常见问题是消息协议允许的大小。也许你需要在协议中实现某种类型的分块消息,以及一些描述二进制内容的MIME。

Here您可以找到常见B2T编码标准的列表。

对于“实时”绘制,最简单的解决方案是将快照图像发送到客户端,并在抽屉客户端中绘制当前图像。如果你每秒钟做10次,你会得到每秒10帧的绘图动画。为了优化,有一种称为Delta Encodig的技术,有时称为Delta压缩。是以连续数据(在本例中为图像)之间的差异形式存储或传输数据的一种方式,而不是完整的文件。因此,在客户端,您只能回顾两个“框架”之间的差异,您需要在客户端执行的唯一一件事就是将当前“框架”与合并“差异”以显示下一个“框架”。