2014-11-03 75 views
3

我期待在流星服务器(不是客户端)上创建一个websocket连接到外部网站。我知道我将要访问的URL以及期望的数据,但我不清楚如何创建websocket本身。我所做的所有搜索都向我展示了客户端的解决方案,但我还没有遇到任何可用作服务器解决方案的东西。流星服务器网络套件

有没有什么我错过了,满足了这个目的? Atmosherejs.com没有列出任何内容,并且在google/github上搜索也没有透露任何内容。流星内置的东西是否已经实现了这一点?

+1

也许只是[使用NPM pacakge(http://stackoverflow.com/a/15351543/1269037),[网页套接字(https://www.npmjs.org/package/websocket)? – 2014-11-03 20:12:38

+0

我不知道Meteor能够使用NPM软件包。我是否还需要一个外部软件包来使用它们,或者现在是否支持新的软件包管理器? – Sinistralis 2014-11-03 21:15:33

+1

您可以[在包中直接使用npm模块](https://docs.meteor.com/#/full/Npm-depends),最好将您的应用程序构建为包。 – 2014-11-03 22:46:18

回答

0

以下代码用于在端口3003上打开流星中的Socket。它将来自套接字(从客户端发送)的数据转换为JSON对象。所以这意味着,下面的代码是一个套接字,它接收JSON。

Fiber = Npm.require('fibers') 

// server 
Npm.require('net').createServer(function (socket) { 
    console.log("connected"); 

    socket.on('data', function (data) { 

     socket.write("hello!"); 

     var o = JSON.parse(data.toString()); 
     console.log(o); 


     Fiber(function() { 
      console.log('Meteor code is executing'); 
      //=> Meteor code 
     }).run(); 
     //console.log(data.toString()); 
     //socket.close(); 
    }); 
}) 

.listen(3003);