21xrx.com
2025-03-29 06:14:58 Saturday
文章检索 我的文章 写文章
Node.js TCP通信
2023-06-24 02:31:51 深夜i     10     0
Node js TCP 通信 服务器 客户端

Node.js是一个开放源代码的服务器框架,它采用事件驱动的模型,建立在Google Chrome的V8引擎之上,具有快速、高效和轻量的特点。

在Node.js中,可以轻易地创建TCP服务器和客户端,实现可靠的TCP通信,满足高并发和高吞吐量的需求。

使用Node.js的net模块,可以简单地创建TCP服务器和客户端,并且实现数据的发送和接收。

以下是一个简单的TCP服务器示例:

const net = require('net');
const server = net.createServer((socket) => {
 socket.on('data', (data) => {
  console.log('Received data:', data.toString());
  socket.write('Echo: ' + data);
 });
 socket.on('end', () => {
  console.log('Connection terminated');
 });
 socket.write('Welcome to the server!\r\n');
});
server.listen(7777, () => {
 console.log('Server listening on port 7777');
});

在这个例子中,我们创建了一个TCP服务器,使用createServer()方法,传入一个回调函数。当有客户端连接到服务器时,该回调函数就会被调用,并传入一个socket对象,用于数据的读取和写入。

我们在该回调函数中,监听‘data’事件和‘end’事件,当接收到数据时,会输出到控制台,并使用write()方法将数据发送回客户端,实现数据的Echo。

同时,我们在该回调函数中,向客户端发送欢迎信息,使用write()方法,实现TCP通信的建立。

以下是一个TCP客户端示例:

const net = require('net');
const client = new net.Socket();
client.connect(7777, '127.0.0.1', () => {
 console.log('Connected to server');
 client.write('Hello, server!');
});
client.on('data', (data) => {
 console.log('Received data:', data.toString());
 client.end();
});
client.on('end', () => {
 console.log('Disconnected from server');
});

在这个例子中,我们创建了一个TCP客户端,使用Socket类,通过connect()方法连接服务器,传入服务器的IP地址和端口号。

在连接成功后,我们向服务器发送数据,使用write()方法。

同时,我们监听‘data’事件和‘end’事件,当接收到数据时,会输出到控制台,并断开与服务器的连接,结束TCP通信。

通过以上示例可以看出,Node.js非常适合实现高效、可靠和高并发的TCP通信。结合其事件驱动的特点,可以轻松实现各种TCP通信需求。

  
  

评论区

请求出错了