Sails.js简单的私人消息(pub/sub和models)

smi*_*ham 16 javascript sockets publish-subscribe node.js sails.js

我的目标:

使用Sails.js创建一个私有消息传递平台,尽可能使用最简单的代码


最佳实践假设:


我的问题:

  • 我是否可以只使用套接字监视某些新模型(例如查找userid与发件人或收件人ID匹配的位置)或者我是否需要设置房间?选择性观看似乎更容易,但文档似乎并不支持它.
  • 如果我上面的任何假设或问题不是实现我的目标的最佳方式,那么使用Sails实现私人消息传递的最简单方法是什么?

我试过的:

  • 订阅和观看套接字
  • 阅读Sails.js文档
  • 看着sailsChat示例(使用房间)
  • 搜索StackOverflow和Google搜索sails聊天示例

Dev*_*ien 6

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

可以使用socket.io(客户端)IIRC调用所有控制器.我采用的方法是创建一个名为messages的模型,然后简单地为消息创建几个端点.如果您想使用模型(pub/sub),可以只订阅您想要的模型.您可以将每个用户订阅到一个模型,即使您有足够的用户.

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

这是在sails.js之上构建聊天的另一个例子:https://github.com/asm-products/boxychat-old