通常如何实现聊天?
问题描述:
考虑您希望在计算机之间来回发送文本的情况。 (这可以是1对1对话或1对多对话,计算机也可以包括智能手机。)通常如何实现聊天?
一般情况下可以如何创建? 例如,您是否通过让所有参与者接受轻量级服务器来请求消息来推送消息? (我对这个推动部分特别困惑。)
实际中使用了哪些特定的软件,协议和/或框架。
答
通过服务器(如Twisted)使用彗星很常见(请参阅http://en.wikipedia.org/wiki/Comet_(programming))。有关更深入的讨论,请参阅Choosing and deploying a comet server。
答
XMPP是实现聊天功能广泛使用的协议,所以你可能需要做深入地研究它。 IRC是另一个,所以阅读它。除此之外,通常通过HTTP实现聊天的方式有两种:Long polling和AJAX轮询(每秒左右)。
下一个可以简化实现并减少带宽的“大”事物是web sockets。例如,Facebook的聊天是在Erlang中实现的。
正如你所看到的,有很多技术,框架和语言可用于聊天实施,所以你必须做一些研究并选择你认为最适合你的赌注。