Я пытаюсь заставить клиента говорить с сервером, и я не могу получить события, которые испускает клиент. Соединение устанавливается как сервер console.logs, connected to localhost:61201
всякий раз, когда клиент подключается; но нет ответа от клиентов, которые периодически выдаются клиентом.
server.js
const port = 61201;
const ipAddress = "127.0.0.1"
var http = require('http');
var io = require('socket.io');
var server = http.createServer();
server.listen(port, ipAddress);
var socket = io.listen(server);
socket.on('connect', () => {
console.log('connected to localhost:61201');
socket.on('clientEvent', function (data) {
console.log('message from the client:', data);
socket.emit('serverEvent', "thanks server! for sending '" + data + "'");
});
});
client.js
const port = 61201;
const ipAddress = "127.0.0.1";
const url = 'http://' + ipAddress + ':' + port;
var io = require('socket.io-client');
var socket = io(url);
socket.on('connect', () => {
socket.on('serverEvent', function (data) {
console.log('new message from the server:', data);
});
setInterval(function () {
socket.emit('clientEvent', Math.random());
console.log('message sent from the client');
}, 3000);
});
Вам нужно использовать объект socket
который возвращает событие connect
. Попробуй это
socket.on('connect', (clientSocket) => {
console.log('connected to localhost:61201');
clientSocket.on('clientEvent', function (data) {
console.log('message from the client:', data);
clientSocket.emit('serverEvent', "thanks server! for sending '" + data + "'");
});
});
socket.on("connection", (clientSocket) => { ... });
socket-io
иsocket.io-client
вы используете?