2013-02-26 44 views
0

我有一個需要websockets的項目。我打算使用Node.js,但現在我想知道Dart M3是否適合我的使用案例。M3 dart中的websockets有多成熟/可以生產?

有喜歡開放式的問題:

  • 如何部署/主機我的服務器端dartcode(WebSocket的服務器)?
  • 我可以創建多個「房間」,我可以發送消息,並且訂閱的客戶端(瀏覽器)自動接收這些消息嗎?
  • 有多少客戶可以訂閱這些「房間」?
  • ...

我應該打滾現在的Node.js和稍等一下,直到鏢已經準備好了?

THX

+0

再次降低服務器端問題^^ – Gero 2013-02-27 19:02:38

回答

3

您開放問題的具體答案是:

如何部署/主機我的服務器端dartcode(WebSocket的服務器)?

你寫你的服務器端代碼鏢,有一個入口點鏢文件(例如,my_app.dart,並與某一個服務器上的飛鏢二進制執行它。這是一樣的node.js中

我可以創建多個「房間」,在那裏我將能夠發送消息,並在訂閱的客戶端(瀏覽器)自動收到這些消息?

這是給你一個編程的挑戰。當客戶端一個websocket連接,服務器獲取一個實例一個連接對象。一種可能的解決方案是,您維護一個房間列表,並將每個客戶端的連接添加到客戶端想要連接的每個房間。或者,維護一個客戶端對象列表,併爲此客戶端創建一個房間列表。 (如果你使用node.js,這是你必須解決的問題)。

有多少客戶可以訂閱這些「房間」?

一段弦是多久?以編程方式,沒有限制,但是你會受到內存,硬件的限制....(試試吧,讓我們知道你的應用程序在負載下的表現) - 請參閱這個相關問題:Socket.io: How many concurrent connections can WebSockets handle?和相關的接受答案(同樣,這是實際上不是Dart特定的)。

本質上,在服務器端使用Dart技術是在服務器端使用node.js非常類似的選擇。您使用Dart獲得的是強大的類型檢查,工具,導入語言的庫導入以及您無法通過JavaScript解決方案獲得的經典OOP。

Seth Ladd的blog post about Dart WebSockets解釋更多(具體的語法可能略有過時,但概念仍然相同)。