首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建PHP聊天系统的最佳方法

创建PHP聊天系统的最佳方法
EN

Software Engineering用户
提问于 2016-06-05 12:06:19
回答 2查看 2.9K关注 0票数 1

我喜欢创建一个基于php的网络聊天系统。全世界大约有1000个并发用户将使用它,那么什么是最好的技术部署呢?

当我在网上做一些研究时,主要发现系统使用ajax和jquery进行聊天,而有些系统使用web套接字。我不确定哪种方法最适合我的需要。我更喜欢实时聊天系统。如果我使用Ajax,这会是实时的吗?随着用户的增加,会不会有任何冲突?

另外,如果我使用HTML5网络套接字,因为用户将从世界各地的不同国家聊天,它会更快吗?让我给你一个设想..。如果我使用托管在英国某台服务器上的HTML5推送方法,以及来自印度、非洲和中国等国家的用户,他们在发送和检索消息时是否会遇到任何停机/延迟?

谢谢您的时间和详细的解释,提前!

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2016-06-05 12:58:32

Ajax具有更好的兼容性,但是web套接字更高效、更简单(因为您不必处理长轮询的问题,这有时会很麻烦)。如今,支持ajax的浏览器相对较少,但不支持web套接字,所以我建议这样做,只是为了简单起见。

请注意,效率不太可能是您最关心的问题;1000名同时使用的用户并不多( 20多年前,我看到许多人使用单服务器聊天系统,现在运行该系统的服务器可能还不到我手机的十分之一)。当你的需求发生变化时,让你的目标变得直截了当,做好进化的准备,这是至关重要的。

但是,如果您有选择的话,我建议不要在php中这样做。这是一个高度并发的应用程序,我最近一次检查(诚然是几年前)php对并发性的支持有点缺乏。如果您更喜欢像php这样的动态语言,可以尝试一下python或ruby。

票数 2
EN

Software Engineering用户

发布于 2016-06-05 17:15:06

Php对您的项目很好,尽管有更好的替代方案(hello NodeJS)。

Ajax不会是实时的。您必须手动发出请求(即使它们每隔X秒发出一次请求)来获取新数据。不会有任何冲突,但您和您的用户可能会出现性能问题。

套接字对您的项目更感兴趣,因为当有新数据时,它们将更新UI。

https://code.google.com/archive/p/phpwebsocket/是用于web套接字的最广泛使用的PHP类。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/321337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档