2013-02-26 49 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解释更多(具体的语法可能略有过时,但概念仍然相同)。