基于NodeJs搭建的Tcp服务端以及客户端连接

本文介绍如何使用Node.js创建TCP服务端与客户端。服务端能够接收客户端连接,并将收到的消息广播给所有已连接的客户端。客户端可以连接到指定的TCP服务器并发送消息。

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

  •  Tcp基于node环境搭建的Server服务端

  • var net = require('net');
    var tcp_server = net.createServer();  // 创建 tcp server
    
    var Sockets = {};
    var SocketID = 1;
    
    // 监听 端口
    tcp_server.listen(12345,function(){
        console.log('tcp_server listening 5678');
    });
    
    //处理客户端连接
    tcp_server.on('connection',function(socket){   
        console.log(sockte.address());
        Sockets[SocketID] =socket;
        SocketID++;
        DealConnect(socket)
    })
    
    tcp_server.on('error', function (){
        console.log('tcp_server error!');
    })
    
    tcp_server.on('close', function () {
        console.log('tcp_server close!');
    })
    
    
    // 处理每个客户端消息
    function DealConnect(socket){
        socket.on('data',function(data){
            data = data.toString();
            // 向所有客户端广播消息
           for(var i in Sockets){
               Sockets[i].write(data +'aaa')
           }
            // socket.write(data);
            console.log('received data %s',data);
        })
    
        // 客户端正常断开时执行
        socket.on('close', function () {
            console.log('client disconneted!');
        })
        // 客户端正异断开时执行
        socket.on("error", function (err) {
                console.log('client error disconneted!');
            });
    }
  •  
  •  Tcp基于node环境搭建的Client客户端

  • var net = require('net');
    
    // 指定连接的tcp server ip,端口
    var options = {
        host : '10.10.20.162',  
        port : 6688
    }
    
    var tcp_client = net.Socket();
    
    // 连接 tcp server
    tcp_client.connect(options,function(){
        console.log('connected to Server');
        tcp_client.write('I am tcp_client of ssssss!');
    })
    
    // 接收数据
    tcp_client.on('data',function(data){
        
        console.log('received data: %s from server', data.toString());
    })
    
    tcp_client.on('end',function(){
        console.log('data end!');
        
    })
    
    tcp_client.on('error', function () {
        console.log('tcp_client error!');
    })
    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
  • node+此两个文件名即可运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

INT_web

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值