Socket.io 中文文档,Socket.io API 完整版 & 使用方法

阅读时长 8 min read

Socket.io 是面向实时应用的库,它允许服务器和客户端进行实时双向通信。这样的通信方式相比传统 HTTP 请求,实时性更高,适用于在线协作、即时聊天等应用场景。

Socket.io API 完整版

服务器端 API

1. 创建 Socket.io 服务器

创建 Socket.io 服务器实例,将其绑定到一个 HTTP 服务器上。

2. 事件监听

服务器可以监听多种事件,例如连接、断开连接、发送消息等。

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

监听连接事件,并为连接成功的 socket 注册一系列事件处理函数。

3. 发送消息

将消息广播给所有连接的客户端。

4. 房间

Socket.io 中的房间(room)是一种组织方式,可以将多个 Socket 分组管理。将一个 Socket 加入房间可以使用以下方式:

将一个 Socket 从房间中移除:

向某个房间广播消息:

客户端 API

1. 连接 Socket.io 服务器

连接到默认 IP 地址的服务器。

连接到指定的服务器。

2. 事件监听

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

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

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

监听服务器发送的事件,例如连接成功、收到消息、断开连接等。

3. 发送消息

向服务器发送消息。

4. 房间

将当前 Socket 加入房间:

将当前 Socket 从房间中移除:

向某个房间广播消息:

使用方法

安装

在 node.js 环境中,使用以下命令安装:

服务器端使用

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

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

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

客户端使用

示例代码

以下为一个简单的实时聊天应用的示例代码:

服务器端:

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

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

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

客户端:

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

在浏览器中访问 http://localhost:3000 即可使用该应用。

Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/67ce86ace46428fe9e8da8e5

Feed
back