我在過去8個月裏與NodeJS和Socket.IO有很好的交流經驗。服務器端組件對我來說非常穩定 - 我可以讓它以非常高的消息量運行,並且它的駐留內存永遠不會高於20MB。到目前爲止,我只能在不終止服務器的情況下運行約4周,但那只是因爲我需要更新我的服務器端代碼。
Works無縫地跨瀏覽器,使用HTML5 websockets或COMET可用。運輸選擇應該對應用層不可見。我不關心古老的瀏覽器(IE6)
提供任意負載
Socket.IO也是一塊神奇的軟件發佈/訂閱的比喻。它正在積極開發之中,並且使用'on'(訂閱)和'emit'(發佈)的EventEmitter(NodeJS)語義構建了一個簡單的pub/sub風格抽象。客戶方面對於使用的運輸也非常透明。我主要用於直接WebSocket支持,但它可以回退到基於Flash的套接字,xhr-polling和jsonp輪詢。從JavaScript和服務器端系統
客戶機訪問(即在PHP /蟒/紅寶石) - 這是臨界
是的NodeJS的JavaScript,在V8發動機運行。它有大量的3rd party modules,提供了很好的抽象以及與外部組件(如數據庫或消息隊列等)之間的接口。至於用php/python/ruby命中系統,它可以像打任何其他服務器一樣工作。選擇你的通信方式(基本的TCP/IP,或HTTP POST或GET,甚至通過文件系統),NodeJS並不關心誰在提供數據。就我個人而言,我已經實現了一個運行良好的C#客戶端。
允許客戶端,看看有什麼其他的客戶端連接到一個通道,即存在
它不沒有任何建立在「存在」的邏輯,雖然用內置的「的pub/sub '已經存在於Socket.IO中的邏輯,您只需要在服務器上存儲狀態,以便新客戶端可以檢索現有狀態數據。我已經在保留狀態的服務器上實現了我自己的基本pub/sub,並且一起(包括NodeJS服務器代碼和基本的Socket.IO存根)只有50行JavaScript(包括空格)。
細粒度通過回調到任何Web應用程序的訪問控制(最好有)
不知道你通過回調到任何Web應用程序通過「細粒度訪問控制的意思(最好有)」。發佈/訂閱事件/觀察者隱喻使用回調函數,因此您可以將特定操作與特定事件掛鉤。
是否auth?
我沒有必要爲我們的系統做任何認證,所以我不能直接對它說話。然而,如果你瀏覽NodeJS模塊,你會注意到有許多auth模塊可用,包括LDAP和OAuth,更不用說one module,它聲稱做OpenId,Google,OAuth,Twitter,LinkedIn,Yahoo,Readability,Dropbox,Justin .tv,Vimeo,Tumblr,OAuth2,Facebook,GitHub,Instagram,Foursquare,Box.net,LDAP「
開源將是很好的,PHP和Python客戶端也是如此,但除此之外,這似乎是我正在尋找的。謝謝! – Leopd