服务器无法连接到客户端的发射
我有一个问题,我无法连接到Client的socket.emit。服务器在Node.js上 - 电子。 Connection事件正在运行,但它没有连接到signIn。在服务器上它不适用于socket
类,只有io
。你能帮我吗?
服务器:
const electron = require('electron');
const {app, BrowserWindow} = electron;
app.on('ready', () => {
let win = new BrowserWindow({width:800, height: 600})
win.loadURL(`file://${__dirname}/index.html`)
win.webContents.openDevTools()
})
var server = require('http').createServer();
var io = require('socket.io')(server);
io.on('connection', function(client){
console.log('Socket connection established');
io.on('signIn', function(message){
console.log(message);
});
});
server.listen(3000);
客户:
var socket = io.connect('http://localhost:3000');
socket.on('connect', function() {
console.log('Client connected');
socket.emit('signIn', 'coffee');
});
回答如下:
您没有将监听器附加到client
event的连接套接字'signIn'
。而是将它附加到您的套接字服务器。
从中更改您的代码
io.on('signIn', () => {...})
至
client.on('signIn', () => {...})