在Linux下使用Node.js进行网络编程,通常涉及到创建TCP服务器、TCP客户端、UDP服务器和UDP客户端。以下是一些基本的示例:
const net = require('net');
const server = net.createServer((socket) => {
console.log('客户端已连接');
socket.on('data', (data) => {
console.log(`接收到数据: ${data}`);
socket.write(`服务器回复: ${data}`);
});
socket.on('end', () => {
console.log('客户端已断开连接');
});
});
server.listen(3000, () => {
console.log('TCP服务器正在监听端口3000');
});
const net = require('net');
const client = net.createConnection(3000, '127.0.0.1', () => {
console.log('已连接到TCP服务器');
client.write('你好,服务器!');
});
client.on('data', (data) => {
console.log(`接收到数据: ${data}`);
client.end();
});
client.on('end', () => {
console.log('已断开与TCP服务器的连接');
});
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
server.on('listening', () => {
const address = server.address();
console.log(`UDP服务器正在监听端口${address.port}`);
});
server.on('message', (msg, rinfo) => {
console.log(`接收到来自${rinfo.address}:${rinfo.port}的数据: ${msg}`);
server.send(`服务器回复: ${msg}`, rinfo.port, rinfo.address);
});
const dgram = require('dgram');
const client = dgram.createSocket('udp4');
const message = '你好,UDP服务器!';
client.send(message, 3000, '127.0.0.1', (err) => {
if (err) {
console.error(err);
client.close();
} else {
console.log(`已发送数据: ${message}`);
}
});
client.on('message', (msg, rinfo) => {
console.log(`接收到来自${rinfo.address}:${rinfo.port}的数据: ${msg}`);
client.close();
});
要运行这些示例,请将它们分别保存为tcp_server.js
、tcp_client.js
、udp_server.js
和udp_client.js
,然后在终端中运行相应的命令:
node tcp_server.js
node tcp_client.js
node udp_server.js
node udp_client.js
这些示例展示了如何在Linux下使用Node.js进行基本的网络编程。你可以根据自己的需求修改这些示例,以实现更复杂的功能。