nodejs实现tcpip
时间: 2023-11-14 22:10:54 浏览: 36
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它提供了丰富的模块,可以轻松实现TCP/IP协议。在Node.js中,可以使用net模块来创建TCP服务器和客户端,使用dgram模块来创建UDP服务器和客户端。TCP服务是面向连接的服务,需要进行三次握手形成对话,而UDP服务则是无连接的服务。下面是一个简单的TCP服务器的实现代码:
```
const net = require('net');
const server = net.createServer();
server.on('connection', (socket) => {
console.log('有人连接了');
socket.write('hello');
socket.on('data', (data) => {
console.log(data);
});
});
server.listen(12345, '127.0.0.1');
```
这个代码创建了一个TCP服务器,监听本地的12345端口。当有客户端连接时,会输出“有人连接了”,并向客户端发送“hello”消息。当客户端发送数据时,会输出数据内容。
类似地,可以使用dgram模块来创建UDP服务器和客户端。下面是一个简单的UDP服务器的实现代码:
```
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
server.on('message', (msg, rinfo) => {
console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
});
server.on('listening', () => {
const address = server.address();
console.log(`server listening ${address.address}:${address.port}`);
});
server.bind(41234);
```
这个代码创建了一个UDP服务器,监听本地的41234端口。当有客户端发送数据时,会输出数据内容和客户端的IP地址和端口号。