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

时间:2015-09-05 15:42:57

标签: javascript node.js sockets sails.js publish-subscribe

我的目标:

使用尽可能最简单的代码{/ 3}创建一个私人消息传递平台

最佳做法的假设:

我的问题:

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

我尝试过的事情:

1 个答案:

答案 0 :(得分:6)

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

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

我以前做的是手动完成,当我收到一条消息时,我会立即将它发送给正确的客户端。但是如果你想编写更少的代码,你可能只需要将用户订阅到你的模型You can simply use toggl function of jquery:- $("#p968").toggle(function () { $('#tackle').hide(); }, function () { $('#tackle').show(); }); <ul class="vlist"> <li id="p968" class="active"><strong>Divisions</strong> <ul id="tackle"> <li id="p981"><a href="link1.html">link1</a></li> <li id="p982"><a href="link2.html">link2</a></li> <li id="p983"><a href="link3.html">link3</a></li> <li id="p1064"><a href="link4.html">link4</a></li> </ul> </li> <li id="p969"><a href="#">mainlink2</a></li> <li id="p96955"><a href="#">mainlin3</a></li> <li id="p989"><a href="#">mainlink4</a></li> </ul> http://sailsjs.org/documentation/reference/web-sockets/resourceful-pub-sub/subscribe) 因此,当一条消息被添加到数据库中时,您可以将其发送给任何您需要的人。

这是另一个基于sails.js构建的聊天示例:https://github.com/asm-products/boxychat-old