我在NodeJS + Typescript項目中使用Socket.io,客戶端向其服務器發送消息併發送相同的消息,並使用套接字發送回客戶端。但是,每次向服務器發送新消息時,服務器發回消息的次數都會增加1,這並不是我編寫它的工作方式。例如,我第一次發送消息「x」 - 服務器返回消息「x」。下次發送消息時,服務器將返回該消息兩次。下一次它發生三次,直到頁面刷新,當它返回到一次。我不知道出了什麼問題。下面的代碼:Socket.io爲單個請求發送多條消息
客戶:
$("#send").click(function(){
alert("Sending : " + $("#text").val());
socket.emit("toServer", {
message: $("#text").val()
});
socket.on('toClient', function (data) {
alert (data.message);
});
});
服務器(app.ts):
function startSocket() {
var io = require('socket.io').listen(server, {log : false});
io.sockets.on('connection', function (socket) {
socket.on('toServer', function (data) {
console.log(data);
socket.emit('toClient', data);
});
});
}
startSocket();