1 回答

TA貢獻1155條經驗 獲得超0個贊
我相信,在 JS 部分,您應該在某處調用 sendMsg() 以發出消息。
更新
const io = require('socket.io-client');
const socket = io('http://localhost:8080');
socket.on('message', data => {
console.log('Got from server: ');
console.log(data);
});
function generateNumber() {
const n = Math.floor(Math.random() * 50);
return { number: n };
}
function sendMsg() {
const json = generateNumber();
console.log('Sending to server:');
console.log(json);
socket.emit('message', json);
}
function loop() {
const rand = Math.round(Math.random() * (3000 - 500)) + 500;
console.log(`Setting timeout ${rand}ms`);
setTimeout(() => {
sendMsg();
loop();
}, rand);
}
socket.on('connect', () => {
console.log('Connected to server');
loop();
});
我在兩邊都使用節點。服務器端只是發回每條收到的消息。日志如下所示:
Connected to server
Setting timeout 1685ms
Sending to server:
{ number: 21 }
Setting timeout 1428ms
Got from server:
{ number: 21 }
Sending to server:
{ number: 40 }
Setting timeout 2955ms
Got from server:
{ number: 40 }
添加回答
舉報