[英]Sending and Receiving data with Socket.io
我有兩個客戶端,客戶端1將數據發送到我們的Node.js&Express后端,后端發出一個事件,只有客戶端2可以接收它。 之后,客戶端2接收數據並顯示它。
以下是客戶端1的代碼:
var socket = io();
socket.emit("match_package", {user_uid, match_uid, room_id, user_data});
Node.js Express服務器:
var tech = io.of("/");
tech.on("connection", (socket) => {
socket.on("match_package", (data) => {
var match_uid = data.match_uid;
var room_id = data.room_id;
socket.emit(match_uid, room_id);
socket.emit("1", "hello");
}
}
客戶2:
var socket = io();
socket.on('connect', () => {
socket.on(user_uid, (data) => {
console.log(data);
})
socket.emit("1", (data) => {
console.log(data);
})
})
所述match_uid
從后端是一樣的user_uid
在客戶端2(認證)。 這就是該事件僅對客戶端2可見的方式。但是在客戶端2上, console.log
卻不顯示任何數據。 我可以保證在后端可以很好地接收數據。 但是客戶端2無法接收到它。
我什至從后端發出了一個虛擬事件“ 1”。 客戶端2也不接收。
我在這里做錯了什么?
非常感謝您的幫助和時間。
您需要將所有socket.ids存儲在數組中,然后在發送消息時就可以使用接收者名稱獲取該socket.id。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.