0

I have a project that requires websockets. I was going to use Node.js , but now I am wondering if Dart M3, respective to websockets, would suit my use case.

There are open questions like:

  • How do i deploy/host my server-side dartcode (websocket server)?
  • Can I create multiple "rooms", where I would be able to send messages, and where subscribed clients (browsers) receive automatically those messages?
  • How many clients can subscribe to those "rooms"?
  • ...

Should I just roll for now with Node.js and wait a bit till dart gets ready?

Thx

4

1 回答 1

3

您的未决问题的具体答案是:

我如何部署/托管我的服务器端 dartcode(websocket 服务器)?

您使用入口点 dart 文件(例如, 编写服务器端 dart 代码,my_app.dart并在某处的服务器上使用 Dart 二进制文件执行它。这与 node.js 相同。

我可以创建多个“房间”,在那里我可以发送消息,订阅的客户端(浏览器)在哪里自动接收这些消息?

这对你来说是一个编程挑战。当客户端建立 websocket 连接时,服务器会获取一个连接对象的实例。一种可能的解决方案是您维护一个房间列表,并将每个客户端的连接添加到客户端想要连接的每个房间。或者,维护一个客户端对象列表,并拥有该客户端的房间列表。(如果您使用 node.js,这与您必须解决的问题相同)。

有多少客户可以订阅这些“房间”?

一段绳子有多长?以编程方式,没有限制,但是你会受到内存、硬件的限制......(试试看,让我们知道你的应用程序在负载下的表现如何) - 请参阅这个相关问题:Socket.io:WebSockets 可以处理多少并发连接? 以及相关的接受答案(同样,这实际上不是 Dart 特定的)。

从本质上讲,在技术方面在服务器端使用 Dart 与在服务器端使用 node.js 非常相似。您使用 Dart 获得的是强大的类型检查、工具、语言中的库导入以及 JavaScript 解决方案无法获得的经典 OOP。

Seth Ladd关于 Dart WebSockets 的博客文章解释了更多(具体语法可能稍微过时,但概念仍然相同)。

于 2013-02-26T12:56:40.947 回答