2014-09-05 42 views
3

我們在我們公司使用Ajax,PHP和jQuery構建的聊天系統。目前它在管理端和用戶端每秒刷新以從MySQL中提取數據。這使得系統效率低下,速度變慢。在PHP,MySQL和jQuery中使用長輪詢技術的Web聊天應用程序

我只想在用戶或管理員發送消息時從MySQL中獲取數據。但問題是:我如何從管理端檢查用戶發送消息(實時)? Ajax可以實時同時發送數據/請求2個不同的PHP頁面嗎?這可能是一個解決方案。

或任何想法,使有效的聊天系統?我們不想使用任何第三方聊天解決方案。任何想法/幫助將不勝感激。

感謝,
Rejoanul阿拉姆

+0

服務器無法開始向您的瀏覽器發送數據而不詢問!不知何故,你已經發送請求到你的服務器! – undone 2014-09-05 09:43:15

+0

只需使用[this](http://frug.github.io/AJAX-Chat/)。它完整​​,可靠,免費且易於定製。 – 2014-09-05 09:45:15

+1

我會建議你檢查websockets。 – Alvaro 2014-09-05 09:51:10

回答

3

jQuery的長輪詢

這是可能的jQuery/PHP/MySQL與長輪詢。這個URL中的示例實現:http://sugunan.com/sites/chat/chatterFront.html

在兩個不同的瀏覽器或機器中打開它。並提供名稱並開始聊天。

這個聊天工具的源代碼可以在此網址可下載: http://www.sugunan.com/sites/chat/source.zip

Node.js的

如果您擁有的服務器,你可以根據去node.jsfaye實施:http://faye.jcoglan.com/node.html

這是推送通知技術。所以它不會經常ping服務器。但它會立即傳達信息。如果要將消息保存在服務器上,它可以與PHP集成。

+0

感謝您的回答。是否有任何jQuery解決方案?我的意思是在不同的頁面中執行實時代碼。 – 2014-09-05 16:49:03

+0

我已經用jQuery工作解決方案編輯答案。如果你對這個功能還可以,讓我知道我會分享代碼。 http://sugunan.com/sites/chat/chatterFront.html – sugunan 2014-09-05 18:21:14

+1

謝謝@guru。你的jQuery聊天系統工作得很好。但是一個持續的Ajax請求正在那裏運行。這會使系統變慢嗎?無論如何,我想看到源代碼。您能否爲我分享代碼? – 2014-09-05 19:14:48

-1

是的,有一些方法,
他們被稱爲彗星,有時逆轉阿賈克斯,google一下)

一個共享的主機使用長輪詢,
專用主機或VPS使用套接字上的 。

+0

謝謝你的回答。我在看... – 2014-09-05 16:45:25