TCP 客户端与服务端通信基本步骤
- 服务端:
- 创建 TCP 服务器实例,使用
net.createServer()
方法。
- 监听指定端口,使用
server.listen()
方法,以便接收客户端连接。
- 处理客户端连接事件,在连接事件处理函数中,处理来自客户端的数据,并可以向客户端发送数据。
- 客户端:
- 创建 TCP 客户端实例,使用
net.connect()
方法,指定服务器的端口和地址。
- 连接成功后,通过
socket.write()
方法向服务器发送数据。
- 监听
data
事件,处理从服务器返回的数据。
代码示例
TCP 服务端代码
const net = require('net');
// 创建 TCP 服务器
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('TCP 服务器正在监听 8080 端口');
});
TCP 客户端代码
const net = require('net');
// 创建 TCP 客户端
const socket = net.connect({ port: 8080, host: '127.0.0.1' }, () => {
console.log('已连接到服务器');
socket.write('你好,服务器!');
});
socket.on('data', (data) => {
console.log('接收到服务器响应:', data.toString());
socket.end();
});
socket.on('end', () => {
console.log('与服务器的连接已关闭');
});