如何使用 Socket.IO 发送和接收消息?

推荐答案

发送消息

在 Socket.IO 中,使用 socket.emit(eventName, data) 方法发送消息。eventName 是自定义的事件名称,data 是要发送的数据。

接收消息

使用 socket.on(eventName, callback) 方法接收消息。eventName 是事件名称,callback 是接收到消息后的回调函数。

-- -------------------- ---- -------
-- -------
-------------------- --------- -- -
  ------------------------ ---------
---

-- --------
------------------- -------- -- -
  --------------- --------- --------- -- -
    ------------------------ ---------
  ---
---

本题详细解读

Socket.IO 简介

Socket.IO 是一个基于事件的实时双向通信库,常用于构建实时应用程序,如聊天应用、实时通知等。它支持 WebSocket 协议,并在不支持 WebSocket 的情况下自动降级为其他协议(如轮询)。

发送消息

在 Socket.IO 中,emit 方法用于发送消息。eventName 是自定义的事件名称,用于标识消息的类型。data 是要发送的数据,可以是字符串、对象、数组等。

  • 客户端发送消息:客户端通过 socket.emit 方法向服务器发送消息。
  • 服务器端发送消息:服务器通过 socket.emit 方法向客户端发送消息。

接收消息

on 方法用于监听特定事件的消息。当接收到指定事件的消息时,回调函数会被触发,并传入接收到的数据。

  • 客户端接收消息:客户端通过 socket.on 方法监听服务器发送的消息。
  • 服务器端接收消息:服务器通过 socket.on 方法监听客户端发送的消息。

示例代码

以下是一个简单的聊天应用示例:

-- -------------------- ---- -------
-- ------
----- -- - ---------------------------

------------------- -------- -- -
  -------------- ---- ------------

  --------------- --------- ----- -- -
    --------------------- - - -----
    ------------- --------- ----- -- ----------
  ---

  ----------------------- -- -- -
    ----------------- ---------------
  ---
---

-- -----
----- ------ - ----------------------------

-------------------- -- -- -
  ---------------------- -- ---------
---

--------------- --------- ----- -- -
  ------------------------ -----
---

-- ----
----------------- --------- ------- ----------

在这个示例中,客户端连接到服务器后,可以发送和接收聊天消息。服务器接收到消息后,会将消息广播给所有连接的客户端。

纠错
反馈