Сервер Socket.io не может отправить данные клиенту - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь отправить данные клиенту через Socket.io. Если соединение установлено, я получу сообщение. Но за пределами socket.on ('connection') клиент ничего не получает.

UPDATE!

CLIENT.JS

import io from 'socket.io-client' 

const socket = io('http://192.168.178.54:3000', {
  transports: ['websocket', 'polling'],
})
socket.on('connection', data => socket.emit('recruiter_id', recruiter_id)) // TOP
socket.on('update_contact', data => console.log) // FLOP
socket.on('connection', data => console.log) // FLOP
socket.on('haha', data => console.log) // FLOP

SERVER.JS

this.io = require('socket.io')(this.server, {transports : ['polling', 'websocket']});
this.io.on('connect', (socket) => {
    console.log('connected');
    socket.emit('update_contact', {bla: "hi"});
    socket.emit('connection', {'michael' : 'ist doof'});
    socket.emit('haha', "hi");    // This will be emitted
    socket.on('recruiter_id', (id) => {
        this.socketMap.set(id, id);
        socket.emit('update_contact', {bla: "hi"});        
    })
    socket.emit('update_contact', {bla: "hi"});
});

Сервер работает на другом компьютере.

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Решение проблемы - удаление транспорта с клиента и сервера.

0 голосов
/ 10 мая 2018

Ваш клиент не слушает connection, потому что функция стрелки никогда не выполняется. Вы должны слушать connect, а не connected. Попробуйте это:

CLIENT.JS

socket.on('connect', () => console.log('client connected'));
socket.on('connection', (data) => console.log('connection:', data));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...