繁体   English   中英

Socket.io Server无法将数据发送到客户端

[英]Socket.io Server can't send data to the client

我正在尝试通过Socket.io将数据发送到客户端。 如果建立连接,我会收到一条消息。 但是在socket.on('connection')之外,客户端什么也得不到。

更新!

客户端

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"});
});

服务器正在另一台计算机上运行。

您的客户端不收听connection因为从不执行箭头功能。 您应该听connect ,而不是connected 尝试这个:

客户端

socket.on('connect', () => console.log('client connected'));
socket.on('connection', (data) => console.log('connection:', data));

解决方案是从客户端和服务器删除传输。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM