21xrx.com
2024-12-22 20:50:39 Sunday
登录
文章检索 我的文章 写文章
Node.js TCP通信
2023-06-24 02:31:51 深夜i     --     --
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通信需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复