📅  最后修改于: 2023-12-03 15:20:31.578000             🧑  作者: Mango
在 JavaScript 中,使用 net 模块可以轻松地创建 TCP 监听节点。该模块在 Node.js 中默认安装,因此无需额外安装便可使用。
要创建 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 监听节点的示例,您可以在此基础上进行更深入的开发。