簡體   English   中英

使用Socket.io發送和接收數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM