• nodejs 中的TCP协议


    //chatServer.js
    var net = require('net');
    var i = 0;
    //保存客户机
    var clientList = [];
    var server = net.createServer(function(socket) {
    socket.name = '用户' + (++i);
    socket.write('【聊天室提示】欢迎' + socket.name + ' ');
    //更新客户机数组
    clientList.push(socket);
    function showClients(){
    console.log('【当前在线用户】:');
    for(var i=0;i<clientList.length;i++) {
    console.log(clientList[i].name);
    }
        }
        if(i == 1){
            socket.write('你是第一个登录的你将僵尸地主');
        }
    showClients();
    socket.on("data", function(data) {
    //把当前连接的客户机的信息转发到其他客户机
    for(var i=0;i<clientList.length;i++) {
    if(socket !== clientList[i]) {
    clientList[i].write("【#####" + socket.name + '"jjjjjjjjjjj"】:' + data);
    }
    }
    });
    socket.on("close", function() {
    //当前客户机下线时,将其从客户机数组中移除
    clientList.splice(clientList.indexOf(socket), 1);
    showClients();
    });
    socket.on('error', function(err) {
    console.log(socket.name + '退出');
    });
    });

    server.on("listening", function() {
        console.log('start listing');
    })
    server.listen(8080) ;
     
     
     
     
     
     
    //chatClient.js
    var net = require('net');
    process.stdin.resume();
    process.stdin.setEncoding('utf8');
    var client = net.connect({port: 8080},function(){
    console.log('【本机提示】登录到聊天室');
    process.stdin.on('data',function(data){
    client.write(data);
    })
    client.on("data", function(data) {
            console.log(data.toString());
            client.write('hello');
    });
    client.on('end', function() {
    console.log('【本机提示】退出聊天室');
    process.exit();
    });
    client.on('error', function() {
    console.log('【本机提示】聊天室异常');
    process.exit();
    });
    });
  • 相关阅读:
    剑指offer 第十一天
    Java Arrays工具类的使用
    什么是指数加权平均、偏差修正?
    深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)
    深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
    深度学习论文汇总
    剑指offer 第十天
    Java String 类
    Java StringBuffer和StringBuilder类
    剑指offer 第九天
  • 原文地址:https://www.cnblogs.com/StevenChancxy/p/9228850.html
Copyright © 2020-2023  润新知