」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Socket.IO 中阻止發送方接收回應?

如何在 Socket.IO 中阻止發送方接收回應?

發佈於2024-11-09
瀏覽:272

How to Exclude the Sender from Receiving a Response in Socket.IO?

如何在 Socket.IO 中向發送者以外的所有客戶端發送回應?

Socket.IO 提供了一系列的通訊方法用戶端和伺服器。要將訊息傳送到所有客戶端,可以使用 io.sockets.emit('response', data);。但是,當您需要排除發送客戶端接收回應時,這種方法就不夠了。

一個簡單的解決方案:socket.broadcast.emit()

解決方案在於使用 socket.broadcast.emit() 方法。此方法會向除發送訊息的用戶端之外的所有連接的用戶端發送一條訊息。用法很簡單:

socket.on('cursor', function(data) {
  socket.broadcast.emit('response', data);
});

在此範例中,當客戶端發出「遊標」事件時,伺服器使用 socket.broadcast.emit() 將資料傳回所有其他用戶端。

附加廣播選項

Socket.IO還提供了附加廣播選項,允許更細粒度的廣播control:

  • io.in('room').emit(): 向指定房間中的所有用戶端發送訊息。
  • socket.to(socketID).emit():使用套接字向特定客戶端發送訊息ID.

透過了解這些廣播方法,您可以有效地管理用戶端和伺服器之間的通信,確保訊息僅到達預期的收件者。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3