проблема с сокетом io и пространством имен - PullRequest
0 голосов
/ 01 сентября 2018

Привет, ребята. Сейчас я изучаю около 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. Извините за глупые вопросы. Пожалуйста, дайте мне какой-нибудь совет по улучшению моего кода ... Я был бы очень признателен за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...