【问题标题】:Building a node.js chat构建 node.js 聊天
【发布时间】:2012-04-15 15:40:30
【问题描述】:

我目前正在为后端使用 node.js 构建网络聊天。它使用 Web 套接字进行服务器和客户端之间的通信。我以前没有使用过节点,我总是使用 PHP/MySQL 和 Ajax 来存储和检索数据。聊天可以与用户帐户和联系人列表的 MSN 等进行比较。 我一直在寻找一些技巧和框架,它们可以帮助我开发一个严重依赖 JavaScript 并通过 node.js 进行所有通信的网站。

  • 您建议如何存储数据? Mongo db(mongoose?mongo-db native?),SQLite?一个简单的解决方案将不胜感激。
  • 您是否会通过 websocket 发送所有内容并为每个对话建立一个新连接?
  • 有没有办法完全绕过 PHP?
  • 您会推荐使用 Backbone.js 还是 Ember.js?

感谢您的帮助!

【问题讨论】:

  • 挑选一些东西,看看它是否有效。如果你有问题,回来问一些真正的问题。此外,您应该接受对您之前问题的一些回答。
  • “我应该如何设计和实现_____?”通常不是stackoverflow问题的好形式。
  • 好的,我会开始构建,当我有更具体的问题时会回来。

标签: javascript node.js socket.io chat


【解决方案1】:

你会推荐什么来存储数据? Mongo db(猫鼬? mongo-db 本机?),SQLite?一个简单的解决方案将不胜感激。

我建议你使用redis,因为它是insanely fast

> Example of benchmark result The test was done with 50 simultaneous
> clients performing 100000 requests. The value SET and GET is a 256
> bytes string. The Linux box is running Linux 2.6, it's Xeon X3320 2.5
> GHz. Text executed using the loopback interface (127.0.0.1). Results:
> about 110000 SETs per second, about 81000 GETs per second.

作为客户,我会使用node_redis

你会通过 websocket 发送所有内容吗?你会建立一个 每次对话都有新的连接?

websockets 还不是每个浏览器都支持(尤其是 Internet Explorer ;))。我认为您应该使用支持multiple transportssocket.io,以便它可以在所有主流浏览器中运行。

有没有办法完全绕过 PHP?

您可以完全绕过 PHP。例如,使用 express 作为您的 Web 框架,而不是 PHP

您会推荐使用 Backbone.js 还是 Ember.js?

还需要更好地了解它们。

【讨论】:

    【解决方案2】:
    • 使用 mongo-db 或 couchDB 来存储数据。
    • 建立新连接比通过 websocket 发送所有内容并解析它们要好。
    • 是的。在服务器端使用 node.js。
    • 您可以尝试其中任何一种。两者各有利弊。

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 2014-02-20
      • 2013-02-09
      • 2019-11-07
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 2014-02-10
      • 2014-04-24
      相关资源
      最近更新 更多