在网站中实现实时聊天系统

时间:2017-02-02 15:07:01

标签: javascript jquery ajax chat

我想在我的网站上添加一个实时聊天支持频道,主要关注对我的服务有特定问题的新用户,我一直在考虑自己实施此解决方案的最佳方式。请注意,我不打算使用第三方解决方案。

我对检索邮件的想法:我可以在页面上创建一个表单,该表单将在用户点击时激活(如“开始聊天”按钮),一旦点击该按钮,我将GET数据库中与客户端IP地址相关的所有消息(如果它不是登录用户)通过Web服务并将其加载到DOM中。在此之后,我将有一个javascript函数,每隔XX秒执行一次,询问是否有新消息。

发送消息:用户将拥有一个带有“发送”按钮的textArea,该按钮将触发POST到Web服务,以便将其消息保存到数据库中,支持/ Web管理员方面,一切都将以类似的方式工作,但可以选择同时进行多次聊天。另外我认为我可以通过使用JQUERY和ajax请求来实现这一点。

实施实时聊天服务是个好主意吗?还是我远离理想的做法?我浏览过,所有我得到的建议是使用我绝对不想使用的第三方服务。谢谢!

2 个答案:

答案 0 :(得分:2)

您应该看一下websockets,特别是在socket.io库中,它为您提供客户端和服务器之间基于事件的通信。 他们甚至有一个如何创建实时聊天的示例: http://socket.io/get-started/chat/

答案 1 :(得分:0)

我想要的聊天不仅仅是"概念验证",您应该使用XMPP,它是最受欢迎的(也许是唯一的) )opensource即时消息协议。有多种语言实现,并证明了它的稳健性。

维基百科:

  

可扩展消息传递和在线协议(XMPP)是一种基于XML(可扩展标记语言)的面向消息的中间件的通信协议。它支持在任何两个或更多网络实体之间近乎实时地交换结构化但可扩展的数据。

source

你也可以看看IRC,它很老但仍然有用。