Привет, ребята. Сейчас я изучаю около socket.io
и пытался создать несколько пространств имен, но не понял, как получить доступ к различным пространствам имен. Я прочитал некоторые документы, но не совсем понял. Я сделал несколько попыток и не похоже на работу. В настоящее время я использую angular на стороне клиента и node.js на стороне сервера. Я сделал этот код на стороне сервера:
Server.js
const express = require('express')
const app = express();
const path = require('path');
const http = require('http').Server(app);
const io = require('socket.io')(http);
//namespace
const apple = io.of('/apple');
apple.on('connection', (socket) =>{
console.log('apple user connected');
apple.on('disconnect', function(){
console.log('apple user disconnected');
});
});
Компоненты приложения.ts
import { Component, OnInit } from '@angular/core';
import * as io from 'socket.io-client';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent{
socket;
apple;
constructor() {
this.socket = io();
//I am not sure what '/apple' is for, is that for route?
this.apple = io('/apple');
}
route.js
app.get('/apple', (req, res) => {
res.send(console.log('hey'));
});
Я пытаюсь добиться, когда пользователь получает доступ к http://localhost:3000/apple. Я хочу, чтобы пользователь получил доступ к пространству имен apple
, чтобы консоль на стороне сервера печатала apple user connected
. Извините за глупые вопросы. Пожалуйста, дайте мне какой-нибудь совет по улучшению моего кода ... Я был бы очень признателен за вашу помощь.