关键步骤
- 服务端创建 TCP 服务器:使用
net.createServer()
方法创建一个 TCP 服务器实例,监听指定端口等待客户端连接。
- 客户端发起连接:使用
net.connect()
方法连接到服务端指定的地址和端口。
- 数据发送:连接建立后,客户端和服务端都可以通过
socket.write()
方法向对方发送数据。
- 数据接收:通过监听
socket
的 data
事件来接收对方发送的数据。
- 连接关闭:通信完成后,通过
socket.end()
方法关闭连接,同时监听 end
事件来处理连接关闭后的逻辑。
代码示例
服务端代码 (server.js)
const net = require('net');
const server = net.createServer((socket) => {
console.log('客户端已连接');
socket.on('data', (data) => {
console.log('接收到数据:', data.toString());
socket.write('已收到你的数据');
});
socket.on('end', () => {
console.log('客户端已断开连接');
});
});
server.listen(8080, () => {
console.log('服务器已启动,监听端口 8080');
});
客户端代码 (client.js)
const net = require('net');
const socket = net.connect({ port: 8080 }, () => {
console.log('已连接到服务器');
socket.write('你好,服务器');
});
socket.on('data', (data) => {
console.log('接收到服务器响应:', data.toString());
socket.end();
});
socket.on('end', () => {
console.log('与服务器的连接已关闭');
});