2014-11-03 78 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);