我正在尝试在android上创建一个基于论坛的群聊应用程序。我需要能够通过聊天绘制和发送语音消息。
我对IRC和XMPP之间的聊天协议使用感到困惑。有人可以就此提出建议。
我认为IRC对我的应用程序更好,因为它主要是为讨论论坛中的群组通信而设计的,但我不确定IRC是否支持除文本消息之外的任何其他内容。
答案 0 :(得分:2)
您可以使用编码系统以纯文本形式发送任何类型的二进制数据(图像,声音等),例如Base64。
您必须注意选择的编码字符域不会与您的协议方法冲突来划分邮件。其他常见问题是消息协议允许的大小。也许你需要在协议中实现某种类型的chunked消息,以及一些描述二进制内容的MIME。
Here您可以找到常见的B2T编码标准列表。
对于“实时”绘制,最简单的解决方案是将快照图像发送到客户端,并在抽屉客户端中绘制当前图像。如果你在一秒钟内完成10次,你会得到每秒10帧的绘画动画。为了优化,有一种称为Delta编码的技术,有时称为Delta压缩。是一种以顺序数据(在本例中为图像)而不是完整文件之间的差异形式存储或传输数据的方式。所以,在客户端中,你只记得两个“帧”之间的差异,你需要在客户端做的唯一事情是“合并”当前“帧”与差异以显示下一个“帧”。