nodejs学习资源

来源:互联网 发布:网络电视收看电视频道 编辑:程序博客网 时间:2024/04/30 17:53

http://blog.csdn.net/mingcai_xiong/article/details/52669074

nodejs——网络编程模块


http://blog.csdn.net/mingcai_xiong/article/details/52669074 //翻译API

https://nodejs.org/api/net.html#net_socket_destroy_exception  //英文API

https://www.oschina.net/code/snippet_113421_36184 

nodejs简单的telnet聊天室


var tcp = require('net');

 
    varServer = tcp.createServer();
    varpwd=[]; // keep tracks of connected clients
    varip=[];  // keeps tracks of connected clients IP address
    varCpwd = "1";// password that you require to login
 
      Server.on('connection' ,function(conn){
        conn.setEncoding('utf-8');
        conn.write("Password:");// ask user for password on their terminal
        console.log("["+ conn.remoteAddress + "] has joined the chat");
 
 
      conn.on('data', function(data){
        if(pwd.indexOf(conn)>-1){//check if it is an old client or a new client
          console.log("["+ conn.remoteAddress + "]:" + data);
          if(pwd.length > 0){// check if atleast one client is connected
 
            sendMessage(conn , data);// broadcast message to all client connected
 
          }
        }
        else{//if it is a new client then server should first check for password
          data= data.toString('utf-8').trim();
          varmessage = " has joined the chat";
          if(Cpwd == data){// if it is a new client than check for password
            pwd.push(conn);
            ip.push(conn.remoteAddress);
            sendMessage(conn , message);
          }
 
          else{conn.write("Password rejected:"+ data);conn.end();}// disconnect client
        }
 
      });
 
      conn.on('end', function() {// remove the client from reference array
 
       vari , client;
         for(iin pwd){
           client = pwd[i];
           if(!client.writable){
             pwd.splice(i,1);
             console.log(ip[i]+" has left the chat");
             ip.splice(i,1);
           }
         }
 
     });
 
});
 
    functionsendMessage(conn , message){ //function to send message to all connected client
 
      vari , client;
      for(iin pwd){
        client = pwd[i];
        if(client.writable){    
          if(conn === client){      
            client.write("[me]:"+ message);        
          }     
          else
            client.write("["+ conn.remoteAddress +"]:"+ message);
        }
        else{
          pwd.splice(i , 1);
          console.log(ip[i]+" has left the chat");
          ip.splice(i,1);
        }  
      }
    }
    Server.listen(8000);

0 0