2013-01-19 48 views
1

我是新來的論壇,任何意見,讚賞我已經搜索了很多,閱讀和閱讀了很多主題,以找到最好的方式我的項目我會直接進入這一點同時向多個用戶發送廣播通知 - PHP/MySql/Ajax

我正在建立一個廣播網站,在內部使用wamp服務器(內部網)工作。

語言使用PHP,JS,阿賈克斯,MySql的

因爲我們使用的是聊天系統(火花)的那一刻,但該項目的想法是保持廣播記錄,它更容易追蹤

請不要給我第三方應用程序/工具

我有一個簡單的HTML表單,用戶提交信息,請考慮此示例。

形式:標題(輸入文本字段),廣播消息(輸入文本字段)

信息存儲在DB表:

bc_id,標題,bc_msg,submitted_by,DATE_TIME

另一個表user_got_bc:user_id,bc_id,bc_sent(0默認值),一旦發送通知,值爲1

我使用ajax查找「user_got_bc」表並驗證哪個用戶具有bc_sent = 0併發送通知他與bc info f ROM中的其他表,然後bc_sent的價值Ajax代碼使用每10000毫秒執行更新到1

setinterveral

一旦用戶提交廣播我希望所有其他用戶(複數)收到通知在同一時間(一秒或更多的一秒)

關於通知,你不必擔心,我使用的是桌面通知(webkitnotification),我知道它不是跨瀏覽器兼容的,但它沒關係,它工作正常

這就是說,一切工作正常

我的擔心是Ajax代碼會做服務器的連接數,如果這好還是壞,更多的用戶,連接

我知道這不會是很好的轟擊服務器的更多與連接的量,特別是因爲它是每10秒X我在很多論壇閱讀使用彗星,從我收集它不是用PHP友好的用戶

的數量,再加上我從來沒有實施了

所以我的問題是: - 有沒有更好的方法或保持它的方式設置是好的? - 如果彗星更好,是否可以提供一個片段來爲該項目工作?

感謝所有提前。

+0

如果它已經工作,爲什麼要麻煩?你有真正的性能問題嗎?而且,由於呼叫是從客戶端觸發的,所以它們不會在同一時間進入。總而言之,除非您有真正的問題,否則我不會投入太多時間。 –

+0

感謝您的回覆,它工作正常,您是對的,他們不會同時觸發,並且工作完美無瑕,只是想讓別人的意見 –

回答

0

請谷歌爲Ajax長輪詢。但是,對於這種項目我建議使用 一些實時I/O軟件一樣

node.jssocket.io

如果你有良好的JavaScript技能,那麼你不應該在使用上面列出 應用問題。如果您的項目將有更多的用戶數量,那麼您將需要PUB-SUB,實時,跨瀏覽器插座支持。最後一個PUSH技術。上面列出的應用程序具有所有這些功能。所以試試看。

如果你仍然想堅持PHP,JS,Ajax,MySql,那麼你可能需要Ajax長輪詢技術。