我有一个社交网络,希望为特定的一组用户实现聊天室。我正在寻找一个非常简单的非第三方聊天,其中最好根据用户登录网站时使用的授权ID在聊天中自动使用用户的名称(如此自动同步登录)如果有人知道非常简单只需输入您的姓名和聊天,这也可以。
以下是我正在寻找的视觉示例。这是我使用的第三方聊天中使用的屏幕截图 - 功能和视觉方面的完美,除了您必须登录到他们的网站才能使用它。
答案 0 :(得分:1)
我知道这是一个糟糕的答案,但我会自己建造它。困难的部分是来自服务器的推送,我会检查http://socket.io/的客户端,以及后端的某种非阻塞服务器(节点是目前最受欢迎的节点,但有负载选项。),因为长时间运行持久连接将使大多数经典服务器快速瘫痪。但是一旦你把它弄下来,剩下的就很简单了,你可以与你的应用程序紧密集成。
对评论中的问题的回应:取决于您的平台是什么。例如,我知道ASP.net将为每个核心做4个工作。因此,在四元组中,您将获得16个服务于所有非静态请求的工作人员。因此,如果您使用4核服务器,则具有持久连接的16个用户将完全阻止其他任何人能够访问服务器。 Ruby和python有点复杂,但通常数字会更低。老实说,我不太了解php如何在这个级别上工作,但我想这个故事会是类似的。
现在,较新的服务器具有一个称为异步请求处理的功能,而不是每个工作程序在使用时阻塞,每个工作块仅在它们主动发送或接收时才会阻塞。因此,持久连接在任何地方都无关紧要,因为连接保持打开的时间并不重要,只有在你实际做某事时才这么重要。
所有这一切,听起来似乎,Ians回答可能更适合你的情况。但同样,这是因为jabber专门用于持久连接。
答案 1 :(得分:1)
我过去通过设置本地Jabber服务器完成了这项工作。至少有一些预先构建的JavaScript客户端可以帮助您入门。