Sails.js简单的私人消息传递(pub / sub和模型)

我的目标:

用最简单的代码创build一个使用Sails.js的私人消息传递平台


最佳实践的假设:

  • 使用Sails.js Webockets进行实时通知
  • 使用Sails.js PubSub for DB使用websockets
  • 使用Sails.js .watch()来获取消息

我的问题:

  • 我可以有套接字只看一些新的模型(例如find哪里用户名匹配发件人或收件人ID)或我需要设置房间? select性观察似乎更容易,但文件似乎并不支持它。
  • 如果我上面的任何假设或问题不是实现我的目标的最佳方法,那么使用Sails实现私人消息传递的最简单方法是什么?

我试过的东西:

  • 订阅和观看套接字
  • 阅读Sails.js文档
  • 看着风帆的例子(使用房间)
  • searchStackOverflow和Google for sails聊天示例

最简单的方法,我猜是使用在sails中实现的socket.io,如果我没有记错的话,它只是简单地称为套接字。

所有的控制器都可以用socket.io(客户端)IIRC调用。 我采取的方法是创build一个称为消息的模型,然后只为这些消息创build几个端点。 如果你想使用模型(pub / sub),可以订阅你想要的。 你可以订阅每一个用户只有一个模型,即使你有很多。

我以前做的是手动做,当我收到一条消息,我会立即发射到正确的客户端。 但是如果你想写更less的代码,你可能只需要将用户订阅到Model.subscribe()http://sailsjs.org/documentation/reference/web-sockets/resourceful-pub-sub/subscribe )当一条消息被添加到数据库时,你可以把它发送给你需要的任何人。

以下是在sails.js之上构build的另一个聊天示例: https : //github.com/asm-products/boxychat-old