使用nodejs的net模块创建TCP服务器

使用nodejs的net模块创建TCP服务器
laiqun@msn.cn

Contents

1. 代码实现

const PORT = 18001;
const HOST = '127.0.0.1';
var net = require('net');
var clientHandler = function(socket){
  console.log('someon connected');
  socket.on('data',function dataHandler(data){
    console.log(socket.remoteAddress,socket.remotePort,'send',data.toString());
    socket.write('server received\n');
  });////data 当客户端发来数据时触发
  socket.on('close',function(){
    console.log(socket.remoteAddress,soctet.remotePort,'disconnected');
    //socket之后被销毁
  });
};

var app= net.createServer(clientHandler);
app.listen(PORT,HOST);
console.log('tcp server running on tcp:://',HOST,':',PORT);
//当connect事件发生时,触发回调函数

2. 使用telnet连接服务器测试

telnet localhost 18001 会触发connect事件 输入一段字 回车,便可发送 使用netstat -antp|grep 18001

3. 创建一个TCP的client

var net = require('net');
const HOST = '127.0.0.1';
const PORT = 18001;
var tcpClient = net.SOcket();
tcpClient.connect(PORT,HOST,function(){
  console.log('connect success.');
  tcpClient.write('this is tcp client by nodejs');
});
tcpClient.on('data',function(data){//监听
   console.log('received: ',data);
});

 





posted @   QQLQ  阅读(599)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示