客户端初始化

安装Socket.IO客户端库后,您现在可以初始化客户端。可以在此处找到完整的选项列表。

初始化 - 图1提示

对于 TypeScript 用户,可以为事件提供类型提示。请检查这个

在下面的示例中,io对象来自:

  • 使用 <script> 引入
  1. <script src="/socket.io/socket.io.js"></script>
  • 使用 ESM 引入
  1. <script type="module">
  2. import { io } from "https://cdn.socket.io/4.7.5/socket.io.esm.min.js";
  3. </script>
  • NPM

  • CommonJS

  • ES modules
  • TypeScript
  1. const { io } = require("socket.io-client");
  1. import { io } from "socket.io-client";
  1. import { io } from "socket.io-client";

来自同一域

如果您的前端与您的服务器在同一个域上提供服务,您可以简单地使用:

  1. const socket = io();

服务器 URL 将从 window.location对象中推导出来。

来自不同的域

如果您的前端不是来自与服务器相同的域,则必须传递服务器的 URL。

  1. const socket = io("https://server-domain.com");

在这种情况下,请确保在服务器上启用 跨域资源共享 (CORS)

初始化 - 图2信息

您可以使用httpswss (分别为, httpws).

  1. // the following forms are similar
  2. const socket = io("https://server-domain.com");
  3. const socket = io("wss://server-domain.com");
  4. const socket = io("server-domain.com"); // only in the browser when the page is served over https (will not work in Node.js)

自定义命名空间

在上面的示例中,客户端将连接到主命名空间。对于大多数用例来说,仅使用主命名空间就足够了,但您可以使用以下命令指定命名空间:

  1. // same origin version
  2. const socket = io("/admin");
  3. // cross origin version
  4. const socket = io("https://server-domain.com/admin");

您可以在此处找到有关名称空间的更多详细信息。

配置

可在此处找到可用配置的完整列表。