如何使用REST设置节点套接字连接和访问

时间:2015-12-23 12:24:56

标签: angularjs sockets websocket sails.js

我希望在我的sailsjs节点服务器上有一个路由连接的路由。我想从应用程序外部向该路径发送一个休息请求,并让套接字听到该事件并更新我的应用程序的UI。

到目前为止,我在网上看到的只是拥有一个websocket服务器。有没有办法将它集成到现有服务器?

我在这里有点迷失。有人能指点我这样做的教程吗?

问题:如何从应用程序外部向我的服务器发送休息请求,让服务器更新我的应用程序的用户界面?

如果您需要更清晰,请告知我们。

2 个答案:

答案 0 :(得分:1)

我认为你必须使用WebSockets。除非通知,否则UI不知道有关服务器的任何信息。让它在没有WebSockets的情况下运行的唯一方法是使用长轮询AJAX请求,但该解决方案适用于有限的用例。

将Socket.io服务器添加到节点服务器非常简单,我试试看。

答案 1 :(得分:0)

使用socket.io,它可以添加到每个Node.js服务器。例如:



var app = require('http').createServer(handler)
  , io = require('socket.io').listen(app)
  , fs = require('fs');

app.listen( 80 );

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end(data);
  });
}

io.set('log level', 1);

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});




您可以在此处使用任何套接字事件。