jjzjj

php - 可扩展的 PHP(基于 AJAX)聊天系统的最佳方法

我正在为一家公司构建一个聊天系统,我想知道构建该系统的最佳方式是什么?我们当前的设置是带有PHP和Memcacheq的NginxHTTP服务器(作为将聊天消息附加到用户自己的队列的消息队列)。然后我们轮询Nginx服务器(通过Comet样式请求)并查询消息队列以获取更新。使用Memcacheq等消息队列来处理同时具有用户到用户和站点范围的聊天的聊天系统是个好主意,还是最好坚持使用MySQL?谢谢! 最佳答案 Memcache仅在数据有些陈旧(或数据库设计不佳以增加查询执行时间)时才有用。在您的情况下(聊天系统),数据将是新鲜的并且添

php - 用 erlang 实现 Comet 并将其用于 PHP 应用程序

我正在构建一个PHPWeb应用程序,我已经到了需要构建一个Comet服务器的地步,因为我需要在新数据可用时更新我的​​用户(非常像FB)。我花了很多时间在网上搜索,得出的结论是构建Comet服务器的最佳方法是使用erlang构建它。我还发现apache-php不是这样做的好组合,因为每个请求的进程问题。所以,我必须为comet应用程序构建一个轻量级的http服务器。我完全是erlang世界的新手,但我正在考虑在erlang中实现Comet服务器,并使其充当仅更新客户端的接口(interface)。对于其余的Web应用程序功能,我仍然想继续使用PHP来实现它们。因此,将更新客户端的请求定

php - 注意 : provisional header are shown

这个问题在这里已经有了答案:"CAUTION:provisionalheadersareshown"inChromedebugger(36个答案)关闭8年前。我无法调试一周前出现的这条消息。我尝试恢复到旧文件,但这很奇怪,没有解决我的问题。所以:我有两个长轮询请求。(关闭其中之一没有帮助)。例如这是其中之一:publicfunctionupdate_private_messages_ajax_handler(){global$wpdb;global$bp;$chat_table=$wpdb->prefix.'bp_dollars_chat';$current_user=$bp->log

php - 使用 comet 和 PHP 进行实时数据更新?

我希望在我的社交网站上实现实时通知更新。我对cometd做了一些研究,我真的很着迷。据我所知,这是cometd服务器上发生的事情的基本流程。Webpage:Sendsanajaxrequesttoserverwhenthedocumentisready.Server:Queriesthedatabaseeveryxamountofsecondsandreturnsajsonstringcontainingresultsifanyarefound.Webpage:Receivestheresultofthejsonstringfromtheserverandsendsoutanother

php - Comet服务器的选择问题

我想写一个使用comet技术实时更新的php网站。我有几个问题:使用comet服务器更好吗?cometd服务器哪个好?对于comet服务器(例如orbited),我必须首先安装基于python的orbited服务器,然后编写php文件来创建套接字以连接到comet服务器。正确的?(Orbited.org没有这方面的教程。) 最佳答案 是的,最好使用专用服务器。StreamHubCometServer似乎是最近最流行的。有关如何开始使用comet的教程,请阅读:GettingStartedwithCometandStreamHub.如

php - 如何制作一个不断更新的页面?

我正在尝试在我的网站上创建一个页面,以实时显示新上传的项目。我认为每3秒调用一次Ajax脚本是解决此问题的最佳方法,但是我的网站并没有那么频繁地获得新的上传项目。它也变化无常,从30秒到1小时不等!此外,每3秒调用一次脚本会对我的服务器造成很大的负担,尤其是当很多人在同一页面上时。我正在四处寻找类似于PHP的推送通知之类的东西。虽然这看起来很牵强,但我正在寻找当有人向网站上传内容时,上传脚本会告诉提要页面更新的东西。我看到了一个叫做COMET的东西——尽管阅读文章/教程让我更加困惑。那么,实现不断更新页面的最佳方式是什么? 最佳答案

php - 实现回合制网页游戏

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我想为网络实现一个回合制游戏。我现在的第一选择是战舰。没有什么太复杂,但仍然很有趣。我想要的一些功能是能够邀请玩家参加游戏,能够与潜在的对手聊天,以及能够在你开始游戏后与你的对手聊天。我在想我需要某种推送通知来更新你的对手板,跟踪统计数据等。我做了一些研究,现在看来最好的方法是使用类似cometd。我正在寻找一些关于使用什么语言以及应该从哪里开始的建议。

php - php中的持久本地域套接字

我找到的这个问题的答案(例如here、here和here)都涉及pfsockopen(),它似乎适合非本地套接字连接。但是,到目前为止我编写的代码使用php通过本地连接访问C++服务器。我希望这种连接是持久的(这样我就可以顺便将它用于Comet)。这是我的非持久性版本:我发现,现在我不能简单地将“$sock”保存为$_SESSION变量并在每次调用此脚本时访问它。关于如何将其变成持久连接的任何提示? 最佳答案 正如您提供的链接指出的那样,php不是一种持久性语言,并且无法在session(即页面加载)之间保持持久性。您可以通过将第二

php - 使用 jQuery 和 PHP 实现长轮询

我想建立一个基于JavaScript(jQuery将用于AJAX)和PHP的聊天。我听说这样做的一个好方法是使用长轮询。我明白这个想法,但我不知道如何在服务器端实现它。无限循环听起来不是个好主意。 最佳答案 您不想创建无限循环,但可以设置超时。基本上循环X秒等待某种数据,如果没有发生,则向客户端发送响应,告诉它它需要发起一个新请求,该请求将具有相同的超时期限。$source;//somedatasource-db,etc$data=null;//ourreturndata$timeout=30;//timeoutinseconds$

PHP cometd 。如何做得更好?

我有一个简单的cometd聊天。JavaScript通过长轮询发送ajax请求。当服务器在数据库中发现新消息时,它会回答并给出JSON。接下来,JavaScript再次发送请求。Javascript:functioncometConnect(){$.ajax({cache:false,type:"get",data:'ts='+ts,url:urlBack,async:true,success:function(arr1){//workwithJSON//.....},complete:function(){cometConnect(true);nerr=false;},dataTyp