构建node.js聊天

时间:2012-04-15 15:40:30

标签: javascript node.js socket.io chat

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

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

谢谢你的帮助!

2 个答案:

答案 0 :(得分:2)

  

您建议存储数据的内容是什么? Mongo db(猫鼬?   mongo-db native?),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;))。我认为您应该使用支持socket.iomultiple transports,以便它可以在每个主要浏览器中使用。

  

有没有办法完全绕过PHP?

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

  

您会推荐使用Backbone.js或Ember.js吗?

还需要更好地了解它们。

答案 1 :(得分:0)

  • 使用mongo-db或couchDB存储数据。
  • 建立新连接比通过websockets发送所有内容并解析它们更好。
  • 是。在服务器端使用node.js.
  • 您可以尝试其中任何一个。两者都有他们的优点和缺点。