node之服务端客户端通信

本文详细介绍了使用Node.js进行网络编程的方法,包括服务端与客户端的建立,数据的接收与发送,错误处理及连接管理。通过具体代码示例,展示了如何创建一个简单的TCP服务器和客户端,实现数据的双向通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

server.js

var net = require('net'); //模块引入
var listenPort = 8080; //监听端口
var server = net.createServer(function (socket) {
    // 创建socket服务端  
    console.log('connect: ' + socket.remoteAddress + ':' + socket.remotePort);
    socket.setEncoding('binary'); 
     //接收到数据
    socket.on('data', function (data) {
        console.log('client send:' + data);//将客户端发送的数据打印出来
    });
    socket.write('Hello client!\r\n');//服务端发送数据;

    //将客户端发来的数据原样pipe返回 
    socket.pipe(socket);//
    //数据错误事件  
    socket.on('error', function (exception) {
        console.log('socket error:' + exception);
        socket.end();
    }); //客户端关闭事件  
    socket.on('close', function (data) {
        console.log('client closed!');
        //socket.remoteAddress + ' ' + socket.remotePort);  
    });
}).listen(listenPort);
//服务器监听事件
server.on('listening', function () {
    console.log("server listening:" + server.address().port);
});
//服务器错误事件
server.on("error", function (exception) {

    console.log("server error:" + exception);
});

client.js

var net = require('net');
var port = 8080;
var host = '127.0.0.1';
var client = new net.Socket();
//创建socket客户端
client.setEncoding('binary');
//连接到服务端
client.connect(port, host, function () {
   client.write('hello server');
   //向端口写入数据到达服务端
});
client.on('data', function (data) {
   console.log('from server:' + data);
   //得到服务端返回来的数据
});
   client.on('error', function (error) {
      //错误出现之后关闭连接  
      console.log('error:' + error);
      client.destory();
   });
   client.on('close', function () {
      //正常关闭连接  
      console.log('Connection closed');
   });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值