Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用户对用户web聊天应用程序(PHP)-什么选择?_Php_Chat_Social Networking - Fatal编程技术网

用户对用户web聊天应用程序(PHP)-什么选择?

用户对用户web聊天应用程序(PHP)-什么选择?,php,chat,social-networking,Php,Chat,Social Networking,我期待着实现一个1对1的用户对用户的网络聊天应用程序的一个新网站在工程中。与之类似的是最终产品的目标。有人知道现成的解决方案能够做到这一点吗 根据我的经验,PHP是首选语言。Omegle是使用twisted库用Python编写的。如果可以归结为从头开始构建应用程序,那么有人能提供关于通过PHP在用户之间联网的解决方案的建议吗 提前谢谢你的帮助。正如您可能已经了解到的,我并没有冒险远离主流网站,因此尽管PHP很好,但连接/网络层对我来说相当陌生 耳垂 长时间阅读,第一次发布海报传统的做法是提供一个

我期待着实现一个1对1的用户对用户的网络聊天应用程序的一个新网站在工程中。与之类似的是最终产品的目标。有人知道现成的解决方案能够做到这一点吗

根据我的经验,PHP是首选语言。Omegle是使用twisted库用Python编写的。如果可以归结为从头开始构建应用程序,那么有人能提供关于通过PHP在用户之间联网的解决方案的建议吗

提前谢谢你的帮助。正如您可能已经了解到的,我并没有冒险远离主流网站,因此尽管PHP很好,但连接/网络层对我来说相当陌生

耳垂


长时间阅读,第一次发布海报

传统的做法是提供一个包含所有聊天信息的页面。用户浏览器会定期刷新页面。但这种方式有点蹩脚,因为它会导致页面闪烁、整个页面重新加载以及发布问题

另一个好方法是使用Ajax检查新消息并发布消息


谷歌搜索的结果很好:

你不能“将不同的php用户连接在一起”。所有这些都将从user1传输到服务器,从user2传输到服务器。然后,每个用户的浏览器必须定期轮询新内容。当你说“连接/网络层对我来说相当陌生”时,我得到的印象是你认为你可以做到这一点,而不需要浏览器轮询服务器。你不能。我没有使用phpfreechat,但是如果它能够处理不同的聊天室,那么您可以通过为每个用户对设置唯一的聊天室来调查它是否可行。

有许多基于Jabber的解决方案,其中包括JS或Flash客户端。一个易于安装的服务器是,发布(开源)服务器的公司也提供了帮助集成到网站的服务。在我以前工作的网站上,我安装了服务器,但有人为它编写了一个基于flash的客户端(这是有问题的,我不会再为客户端这样做了),但服务器本身的性能完美无瑕,响应时间不到一秒


它已经取代了一个基于AJAX的内部聊天系统,但由于一小部分客户使用它,该AJAX客户机负责72%的针对该网站的HTTP点击(没有它,我们每天点击700K以上)。基于Jabber的Going一夜之间删除了这些内容,并帮助加快了网站的速度。Jabber系统也可以在很少额外工作的情况下扩展10倍。

感谢您的链接,尽管我正在寻找的是一个1对1即时通讯器式聊天的促进者,而不是像Php Free聊天那样的聊天室。如果没有预构建的解决方案可用,那么编写前端代码应该不会太有挑战性,而是如何将不同的php用户连接在一起感谢Openfire的建议。再看一看,我可能会将Openfire与基于AJAX的客户端一起使用,直到我的需要保证一些更有效的东西,比如flash客户端,我想我的措辞是错误的。通过“将不同的php用户连接在一起”,我指的是如何在服务器端共享数据。我通常认为这将是一个数据库,但这对于聊天程序来说效率太低。“连接/网络层对我来说相当陌生”,我指的是同一件事。我看到流程是这样的:客户机->php->从其他用户检索信息->php->客户机,客户机->php通过AJAX完成