【发布时间】:2019-03-05 02:44:39
【问题描述】:
客户端我使用 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(客户端)
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));
}
}
}
【问题讨论】:
-
你有什么错误吗?
-
不,我没有像这样在 crome 浏览器中收到任何错误控制台打印 ({message: "Hello World", id: "6An-ctwlwbZZWrfMAAAAB"}) 但我有超过 15 个组件所以我不知道如何使用所有组件通用的 socket.io,你告诉我为此提供服务,但使用服务如何获取所有组件的 socket.io 角度到节点
-
你能试试我的示例代码吗
-
我正在尝试,我不知道从 '../shared/interfaces' 的服务导入 { Socket } 中这是什么;