我使用了Angular 6作为客户端,Node.js作为服务器端。
在Angular 6中,使用以下代码后,在控制台中打印消息和socket.io id({message: "Hello World", id: "6An-ctwlwbZZWrfMAAAB"})
。
请问这段代码正确吗?如果不确定,请帮忙改正。
另外一个问题是,我的项目中有15个以上的组件,如何让所有组件都可以共用socket.io
?我需要在所有其他组件中导入app.component.ts
代码吗?
服务器端的代码为app.js。
after installing (npm i socket.io)
const express = require('express');
var app = express();
const http = require('http');
const socketIo = require('socket.io');
const server = http.Server(app);
const io = socketIo(server);
server.listen(3000,function(req,res){
console.log("listen at 3000!");
});
io.on('connection',(socket) => {
socket.emit('hello',{
message : 'Hello World',id: socket.id
})
});
app.component.ts(clientside)
after installing (npm i socket.io)
import * as socketIo from 'socket.io-client';
export class AppComponent implements OnInit {
ngOnInit(){
const socket = socketIo('http://localhost:3000/');
socket.on('hello',(data) => console.log(data));
}
}
}