Js 第十四天:socket.io 模块的使用

阅读时长 5 分钟读完

在前端开发中,socket.io 模块是一种非常常用的实时通信工具。在本篇文章中,我们将会介绍如何使用 socket.io 模块实现实时通信,并附上详细的示例代码。

socket.io 简介

socket.io 是一个基于 HTML5 WebSocket 的实时消息传输库,其最重要的特点就是实时性。在传统的前后端通信方式中,前端需要手动去轮询后端接口来获取最新数据,这种方式十分耗费资源,且不利于实时性。而使用 socket.io,则可以实现服务器主动向客户端发送消息,客户端也可以向服务器发送消息。

socket.io 模块除了支持 WebSocket 连接外,还支持基于 AJAX 长轮询、JSONP等方式进行消息传输,因此能够适应多种网络环境。

socket.io 的使用

在使用 socket.io 之前,需要先安装依赖。

安装完成后,在前端页面引入 socket.io 依赖。

接下来,在服务器端引入 socket.io 并监听客户端连接请求。

在客户端页面中,使用 io() 方法建立与服务器的连接。

至此,客户端与服务器之间就可以通过 socket.emit() 方法进行消息的发送和接收了。

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

-- -------
------------------- -------- -- -
  -------------------- ----- -- -
    --------------------- - - -----
  ---
---
展开代码

除了 emit() 方法外,socket.io 还支持如下多种方法进行消息发送:

  • broadcast.emit():向除发送者以外的所有客户端发送消息
  • io.emit():向所有客户端发送消息
  • socket.to(room).emit():向指定房间内的客户端发送消息

使用方法与 emit() 类似,这里不再一一赘述。

示例代码

服务器端

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

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

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

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

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

----------------- -- -- -
  ---------------------- -- ---------
---
展开代码

客户端

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

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

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

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

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

      --------------- --------- ----- -- -
        ----- -- - -----------------------------
        -------------- - ----
        -------------------------
      ---
    ---------
  -------
-------
展开代码

这是一个最简单的示例,当客户端向服务器发送消息时,服务器会将消息广播给所有连接的客户端。你可以对此进行修改,添加房间、私聊等功能,自由发挥。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67c937cde46428fe9e053deb

纠错
反馈

纠错反馈