2012-07-10 321 views
0

我看了一下編碼的套接字服務器幾個不錯的文章,但想到我會問這裏是否有什麼我真正需要的任何進一步的知識/想法。PHP套接字服務器/客戶端

我跑了所有正在運行的關閉同一服務器客戶端的多個網站,連接到同一數據庫等等。每個客戶端的網站有一個表格,用戶可以提交自己的詳細信息,我們提供的服務。這些用戶遍佈世界各地,但我想建立的是一個監控系統,我的界面顯示用戶的IP地址,他們所在的用戶網站,他們所在的頁面等等。從IP我會做一個國家/狀態查找(我知道它不是100%準確,但足夠接近是好的)。

我想訪問的網站發送一個數據包到輪流輸出信息發送到我的實時畫面(後我執行一些操作)套接字服務器。我想你可以說我正在建立一個迷你NOC來監控網站活動。我還希望輸出信息是屏幕頂部的最新活動,但也顯示滾動條以查看所有活動。

套接字是這個系統的最佳機制嗎?有關如何實現結果的任何其他建議或教程?

非常感謝。

+0

套接字似乎有點矯枉過正..爲什麼不從客戶端應用程序用restful API或類似的輪詢?它是否必須達到分鐘實時? – 2012-07-10 23:49:24

+0

也許看看http://hummingbirdstats.com/ – 2012-07-10 23:53:06

+0

嘿,它不一定要超過分鐘實時然而,我們網站上的每個用戶都是潛在的收入,所以想法是顯示一個運行的已實現/未實現收入總額與當前活動一起進行流。 – puks1978 2012-07-10 23:55:05

回答

0

你開始沿着這條道路之前,你檢查出realtime part of Google Analytics?它大部分都是你要找的。

當有人訪問您的網站,你是不是通常將有一個永久連接。我建議不要創建一個,解析服務器日誌或將用戶信息存儲在數據庫中,並查詢最後一分鐘的訪問者數。

爲了更新您實時查看的頁面,如果您需要非常快速的響應時間,但是當前爲quite the hassle to do in PHP,則網絡套接字最適合此。另外,瀏覽器支持不是很廣泛。如果你堅持使用PHP,我建議通過AJAX進行輪詢。否則,請使用Node.JSSocket.IO進行調查。 Socket.IO將很多類似的方法包裝到網絡套接字中,以輕鬆獲得相同的效果。仍然使用PHP爲您的應用程序...只需使用Node.JS/Socket.IO部分爲您的顯示器接口。

最後,我建議再次質疑爲什麼需要這個。您可以在這樣的項目上花費大量時間,事實是,當您查看分析數據時,隨着時間的推移,分析數據比快照更有價值。

+0

這就是爲什麼我喜歡這個網站。我也在考慮去投票路線,所以也許套接字不是這個任務的正確答案。謝謝 – puks1978 2012-07-10 23:58:00