📜  CommonJS 中的 socket.io init - Javascript (1)

📅  最后修改于: 2023-12-03 15:00:00.024000             🧑  作者: Mango

CommonJS 中的 socket.io init - Javascript

Socket.io 是一个非常受欢迎的实时网络通信库,它能使服务器和客户端之间的实时数据传输变得非常容易。在本文中,我们将介绍如何在 CommonJS 中初始化 Socket.io。

安装

首先,我们需要在我们的项目中安装 Socket.io。

npm install socket.io
初始化

初始化 Socket.io 主要包括以下步骤:

  1. 创建一个 HTTP 服务器。
  2. 将 Socket.io 挂载到服务器上。
  3. 启动服务器监听。

我们可以按照以下方式初始化 Socket.io。

const http = require('http');
const socketIo = require('socket.io');

const server = http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
});

const io = socketIo(server);

io.on('connection', (socket) => {
  console.log('a user connected');
});

server.listen(3000, () => {
  console.log('listening on *:3000');
});

在这个示例代码中,我们使用 Node.js 的 HTTP 模块创建了一个 HTTP 服务器,并将 Socket.io 挂载到该服务器上。我们还监听了连接事件,并在连接时记录一条日志。

建立连接

当客户端想要连接 Socket.io 服务器时,它们需要发送一个 WebSocket 握手请求。这个请求将携带一个唯一的标识符,称为 Socket.id。服务器可以使用该标识符来识别客户端并在客户端与服务器之间进行通信。

客户端可以通过以下方式连接到上述服务器。

const socket = io('http://localhost:3000');

socket.on('connect', () => {
  console.log('connected');
});

在这个示例代码中,我们通过调用 io() 方法并传递服务器的 URL(在这里是 "http://localhost:3000")来连接服务器。我们还监听了连接事件,并在连接时记录一条日志。

发送消息

使用 Socket.io,可以轻松地在服务器和客户端之间发送消息。例如,我们可以轻松地在服务器向客户端发送消息。

io.on('connection', (socket) => {
  console.log('a user connected');

  socket.emit('message', 'Welcome to the chat room.');

  socket.on('disconnect', () => {
    console.log('a user disconnected');
  });
});

在这个示例代码中,我们在连接时向客户端发送了一条消息,并在客户端断开连接时记录了一条日志。

我们还可以轻松地在客户端向服务器发送消息。

const socket = io('http://localhost:3000');

socket.emit('message', 'Hello, server!');

在这个示例代码中,我们使用 emit() 方法向服务器发送了一条消息。

结论

Socket.io 是一个非常强大且易于使用的实时网络通信库。在本文中,我们介绍了如何在 CommonJS 中初始化 Socket.io,并向您展示了如何在服务器和客户端之间发送消息。