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

Javascript 在网站中实现实时聊天系统,javascript,jquery,ajax,chat,Javascript,Jquery,Ajax,Chat,我想在我的网站上添加一个实时聊天支持频道,主要关注对我的服务有特定问题的新用户,我一直在考虑自己实施此解决方案的最佳方式。请注意,我不打算使用第三方解决方案 我对检索消息的想法:我可以在页面上有一个表单,在用户点击时激活(如“开始聊天”按钮),一旦点击按钮,我将获取数据库中与客户端IP地址相关的所有消息(如果不是登录用户)通过web服务并将其加载到DOM中。在此之后,我将有一个javascript函数,它将每XX秒执行一次,询问是否有新消息 发送消息:用户将有一个带有“发送”按钮的文本区,该按钮

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

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

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


这是实现实时聊天服务的好主意吗?还是说我离理想的方式还很远?我浏览了一下,得到的只是使用第三方服务的建议,我绝对不想使用。谢谢

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

如果你想要的聊天不仅仅是“概念证明”,你应该使用它,它是最流行的(也许是唯一的)开源即时消息协议。有几种不同语言的实现,并且已经证明了它的健壮性

维基百科:

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


您还可以看看IRC,它很旧,但仍然很有用。

是的,这很好,但我会使用WebSocket和事件侦听器,而不是不断的AJAX请求。谢谢!这是一个我不太熟悉的概念,所以我会研究它。还有,不管是谁否决了我的问题,我可以知道这是一个不合适的问题吗?我一定会看一看,非常感谢你,一旦我做了一些研究,我会回到这里。干杯或使用最佳可用协议的库,例如信号器。这里有一些以聊天服务为例的信号器教程。我过去从未使用过它,所以我将对它做一些研究,非常感谢!