📜  tcp 监听节点 - Javascript (1)

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

TCP 监听节点 - JavaScript

在 JavaScript 中,使用 net 模块可以轻松地创建 TCP 监听节点。该模块在 Node.js 中默认安装,因此无需额外安装便可使用。

创建 TCP 服务器

要创建 TCP 服务器,可以使用以下代码:

const net = require('net');

const server = net.createServer((socket) => {
  // 新的连接到来时的处理逻辑
});

server.listen(8080, () => {
  console.log('Server is listening on port 8080');
});

在上述代码中,使用 net.createServer() 方法创建了一个 TCP 服务器,并通过回调函数处理了新的连接到来时的逻辑。此外,使用 server.listen() 方法将服务器绑定到端口 8080 上。

处理客户端数据

在服务器创建完成后,我们还需要处理客户端发送的数据。可以使用以下代码:

const net = require('net');

const server = net.createServer((socket) => {
  // 新的连接到来时的处理逻辑
  socket.on('data', (data) => {
    console.log(`Received data from client: ${data}`);
  });
});

server.listen(8080, () => {
  console.log('Server is listening on port 8080');
});

在上述代码中,使用 socket.on('data', (data) => { ... }) 方法监听客户端发送的数据,当有数据到达时,会触发回调函数并将数据作为参数传入。

发送数据到客户端

我们还可以向连接的客户端发送数据。可以使用以下代码:

const net = require('net');

const server = net.createServer((socket) => {
  // 新的连接到来时的处理逻辑
  socket.on('data', (data) => {
    console.log(`Received data from client: ${data}`);
    
    // 向客户端发送数据
    socket.write(`You said: ${data}`);
  });
});

server.listen(8080, () => {
  console.log('Server is listening on port 8080');
});

在上述代码中,使用 socket.write() 方法向客户端发送数据。

结束连接

当客户端完成数据传输后,我们需要结束连接。可以使用以下代码:

const net = require('net');

const server = net.createServer((socket) => {
  // 新的连接到来时的处理逻辑
  socket.on('end', () => {
    console.log('Client disconnected');
  });
});

server.listen(8080, () => {
  console.log('Server is listening on port 8080');
});

在上述代码中,使用 socket.on('end', () => { ... }) 方法监听客户端关闭连接的事件,并在事件触发时打印一条消息。

这是一个简单的 TCP 监听节点的示例,您可以在此基础上进行更深入的开发。