【问题标题】:How mature / production ready are websockets in M3 dart? [closed]M3 dart 中的 websocket 的成熟度/生产准备情况如何? [关闭]
【发布时间】:2013-02-11 21:43:47
【问题描述】:

我有一个需要 websockets 的项目。我打算使用 Node.js ,但现在我想知道 Dart M3 是否适合我的用例。

有一些未解决的问题,例如:

  • 如何部署/托管我的服务器端 dartcode(websocket 服务器)?
  • 我可以创建多个“房间”,我可以在其中发送消息,订阅的客户端(浏览器)在哪里自动接收这些消息?
  • 有多少客户可以订阅这些“房间”?
  • ...

我是否应该暂时使用 Node.js 并等待 dart 准备好?

谢谢

【问题讨论】:

  • 再次对服务器端问题投反对票^^

标签: dart


【解决方案1】:

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

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

您使用入口点 dart 文件(例如,my_app.dart)编写服务器端 dart 代码,然后在服务器上的某处使用 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 解释更多(具体语法可能有点过时,但概念仍然相同)。

【讨论】:

    猜你喜欢
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 2010-10-19
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多