Meteor服务器Websockets

4
我想在Meteor服务器上创建一个WebSocket来连接到外部站点,我知道将要访问的URL以及预期的数据,但我不确定如何创建WebSocket本身。所有我找到的搜索结果都是关于客户端的解决方案,但并没有找到任何服务器端的解决方案。
我错过了什么解决该问题的工具吗? Atmosherejs.com没有列出任何相关内容,并且在Google / Github上搜索也未发现任何线索。 Meteor中是否已经内置了此功能?

1
也许只需使用npm包websocket - Dan Dascalescu
我并不知道Meteor能够使用NPM包。现在是否已有本地支持的新包管理器,我是否仍需要外部包才能使用它们? - Sinistralis
1
您可以在包中直接使用npm模块,而将应用程序结构化为包是最佳实践。 - Dan Dascalescu
你有没有好的资源可以推荐?我正在查看 https://github.com/oortcloud/unofficial-meteor-faq 来解决我的大部分问题,但我不太明白 package.js 文件的作用。 - Sinistralis
1
“使用包”(http://meteor.redandivory.com/#/6)介绍了如何将应用程序组织成包。您可以查看一些[现有的包](https://github.com/dandv/meteor-http-more/blob/master/package.js#L8),以了解它们如何使用Npm;实际上只需要几行代码。 - Dan Dascalescu
1个回答

0
以下代码用于在Meteor上打开端口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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接