我想将socket.io包含在我的meteor-angular2 app中。但我发现添加socket.io/socketjs有困难。
我试图探索这个https://github.com/Akryum/meteor-socket-io 但那不是meteor-angular2。
在server / main.ts上尝试这个简单的代码
var io = require('socket.io')(server); io.on('connection', function(socket) { socket.emit('welcome', { message: 'Welcome!', id: socket.id }); });
然后在控制台上显示此错误
错误:无法找到模块' ./ client' W20170307-11:49:09.344(7)? (STDERR)at require (packages \ modules-runtime.js:123:19)W20170307-11:49:09.344(7)? (STDERR)at meteorInstall.node_modules.socket.io.lib.index.js (packages \ modules.js:1131:14)W20170307-11:49:09.345(7)? (STDERR at fileEvaluate(packages \ modules-runtime.js:197:9) W20170307-11:49:09.345(7)? (STDERR)at require (包\模块-runtime.js:120:16)
任何人都可以共享配置,设置或样板来加入meteor-angular2和socket.io?
答案 0 :(得分:0)
要在客户端使用套接字,您必须先安装socket.io-client
,然后再将其导入组件或服务中以便使用它。
使用socket.io-client
安装npm install socket.io-client --save
。
使用import * as io from 'socket.io-client';
使用以下代码连接组件中的套接字:
let socket = io.connect('your socket url', {
forceNew : true,
transports: ['websocket', 'polling', 'flashsocket']
});