zoukankan      html  css  js  c++  java
  • 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();
    });
    });
  • 相关阅读:
    ios 分享腾讯微博
    ios 分享微信
    elinput 价格校验 大于0保留2位小数,不包含01,01.1这种
    从范闲到许乐,从宁缺再到陈长生
    二进制流 ajax 实现图片上传
    php 操作redis 部分命令
    matlab 与vs2008联合编程的设置备忘
    新型机器人闯入职场:到底是工作缔造者还是工作终结者?
    c++ vs2008 多线程编程的样例
    虚拟试衣创业公司Fitiquette被印度电商Myntra收购
  • 原文地址:https://www.cnblogs.com/StevenChancxy/p/9228850.html
Copyright © 2011-2022 走看看