我已經設置了一個標準的nodejs服務器,現在我遇到了問題,如果一個客戶端通過socket.io發送請求,並且每個客戶端都會對它作出反應,但這是錯誤的,我希望只有客戶端發送請求應該反應。Nodejs多個客戶端處理
function show(){
socket.emit('show')
}
在服務器端:
socket.on('show', function(){
io.emit('request', 'clear'); //clear a table on the website
db.each("SELECT tableRow1, tableRow2, tableRow3 FROM table,
function(err, row){
io.emit('new', row.tableRow1, row.tableRow2, row.tableRow3)
});
});
和在客戶端側的反應爲:
socket.on('new', function(tableRow1, tableRow2, tableRow3){
var myString = ' <input id="id1" type="checkbox" name="boxes"><label for="id1" id="labelID" onclick="Click(this)">'tableRow1'</label>'
$('#tableID').append($('<tr>')
.append($("<td>"+myString+'<td/>'+"<td>tableRow2</td>"+"<td>"TableRow3"</td>")).append($('<tr/>')));
});
和現在的問題是再1個客戶
在客戶端按下按鈕以從數據庫加載數據,所有客戶端都對其作出反應並從服務器獲取數據。
你能分享你目前與嘗試這種代碼? – leroydev