您好我一直在网上搜索与PHP创建实时聊天的不同方式,我读过有关长轮询,ajax推送(Comet)或我认为最好的方式使用node.js. 问题是我正在进行一对一的Facebook风格聊天,我希望将其集成到我想在市场上销售的脚本中,所以这不是我自己使用的,这里的问题是使用节点.js会让客户更难以安装脚本,所以我试图找到一种不同的方法,可以在不吃多少资源的情况下提供一些好的结果。
我一直在思考它并提出一个想法(可能会受到批评,但我需要分享它然后看到不同的意见,并决定它是否是一个好的方式去或不) 。 这个想法是下一个: 我会将所有聊天消息保存在mysql数据库中,当用户打开聊天对话时,他会生成一个json文件,该文件存储最后发布的消息的最后一个ID,因此不会在数据库中检查您要检查的新消息使用ajax json文件查看id是否更改,如果更改,则会从数据库加载新消息。 要在每次向该聊天发布消息(1对1对话)时进行此工作,您将其插入数据库并使用新ID编辑json文件。 我还在考虑增加你检查json文件的时间,以便如果例如一分钟过去并且没有新消息而不是每3秒检入一次该文件,那么时间将增加到6例如等等。
这可能是一个坏主意,我只是分享,因为我真的很担心让这个聊天工作以最佳表现而且我真的不知道要走哪条路,所以我想要知道这是一个好的,坏的或可怕的想法,如果不好也会欣赏任何关于走哪条路的评论。 谢谢。