Board logo

主題: [其他] 有關處理即時訊息更新的問題 [打印本頁]

發表人: Vic    時間: 2011-5-31 05:50 PM     主題: 有關處理即時訊息更新的問題

因為在研究[討論]仿Facebook新訊息提示功能時…發現要真正建立一個有效的即時訊息更新並不是簡單地使用setInterval…不停重複就可以。(我真的是太天真太傻了)

它需要多方面的配合…上至http server…下至client script…所以熊可能會將論壇主機做一些比較大的調整…

為的不只是這一個新功能…而是以後我們在即時訊息方面多做些事。

目前的工作次序是:

1。轉用nginx或lighthttp的可行性…
2。nodeJs的應用
3。仿Facebook新訊息提示功能


如果有驢友在相關領域有經驗~ 歡迎指教~
發表人: 指甲刀    時間: 2011-5-31 09:20 PM

我門外漢,不過你求好心切並付諸實行真的讓我相當感佩
發表人: meyoungkuo    時間: 2011-5-31 11:37 PM

噢~這個真的是工程耗大耶~@@
發表人: Vic    時間: 2011-6-1 12:11 AM

要做的事還真的不少…不過我覺得都蠻有趣的~ 所以也算是寓工作於娛樂~ (叫「阿Q精神」也可以)
發表人: daidai    時間: 2011-6-9 01:31 PM

公司的專案打算自己搞一套即時通訊,大概收集了些資料,目前還沒實做,以下資源可以參考看看喔

Build a web-based notification tool with XMPP
Write real-time web applications with XMPP, PHP, and JavaScript

http://www.ibm.com/developerwork ... r-lnxw07RealTimeApp

http://code.google.com/p/xmpphp/

http://plugins.jquery.com/plugin-tags/xmpp
發表人: Vic    時間: 2011-6-9 06:19 PM

謝謝daidai提供資訊…

稍稍看了一下,xmpp好像自己是一套分散式的instant message方案…有自己的server,client…

而xmpphp則是php client for xmpp

xmpphp
client A -> php -> apache -> xmpp -> db

如果這樣的話…那跟long polling/comet比…好處在那裡?

long polling
client A -> php -> apache -> db

畢竟long polling少了xmpp一個level。

沒有時間慢慢看…如有錯誤…請見諒與指正。
發表人: daidai    時間: 2011-6-10 10:09 AM

sorry~我並沒有很深入的研究其通訊協定溝通的方式...目前也停留在"只是收集資料"@@
不過針對您的問題,稍為咕狗了一下,以下相關文章供參考

http://cometdaily.com/2008/02/21/comet-vs-bosh/

http://shallon.iteye.com/blog/126428
發表人: Kcars    時間: 2011-6-11 11:06 PM

沒甚麼研究,不過看到這標題我會想到now.js、comet、socket、flash media server

這幾項我只碰過fms…
發表人: supertaco    時間: 2011-6-14 09:57 AM

建議是使用 node.js + long polling 來做處理

client -> node.js port -> db or memcached
發表人: labman    時間: 2011-6-29 12:15 AM

內地有個寫的不錯的跟DZ整合的很緊密,蠻像fb的功能。能下載試用版 http://bbs.ntalker.com/forum.php
能設定訊息來會有聲音通知,且在火狐分頁的該頁上也會閃動提示有新訊息

我有幫人裝了一個,要試的話 > http://newparadise.no-ip.org/bbs

[labman 在  2011-6-29 12:41 AM 作了最後編輯]

附件: F1000629_01.jpg (2011-6-29 12:41 AM, 146.9 K) / 該附件被下載次數 0
http://twed2k.org/attachment.php?aid=42785
發表人: charleshwu    時間: 2012-2-25 11:12 PM

看到一個 opensource 的 web IM 系統, 可以參考一下它怎麼作. 應該可以拿它的機制修改來用. FYI.

http://sourceforge.net/projects/webim/
http://mibew.org/index.php
發表人: x13    時間: 2012-3-27 03:59 AM

我會推node.js + long polling吧
理由如下
省資源:node.js最適合打雜了,它只跑單程序,async,non-blocking
相對於nginx+php對於每個request就開一個thread,它真的很省。
前幾天看hacker news有提到某網站利用node.js做了一個同時維持30k即時連線數,執行緒只花了20多mb
不用改很多:node.js自己可以當server,跑個localhost:5678,然後在nginx裡設定個過路連線pass給nodejs,而且json可以丟來丟去,反正都是javascript,省的改型別




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0