zoukankan      html  css  js  c++  java
  • 网络编程示例

    1. 网络编程

    1.1 TCP

    //server

    var net = require('net');

    var server = net.createServer(function(socket){

          socket.on('data',function(data){

                 socket.write('hello world');

          });

         

          socket.on('end',function(){

                 console.log('end');

          });

         

          socket.write('welcome');

    });

    server.listen(8000,'127.0.0.1',function(){

          console.log('server bound');

    });

    //client

    var net = require('net');

    var client = net.connect(8000,'127.0.0.1',function(){

          console.log('client connected');

          client.write('hi! ');

    });

    client.on('data',function(data){

          console.log(data.toString());

          client.end();

    });

    client.on('end',function(){

          console.log('client end');

    });

    1.2 UDP

    //server

    var dgram = require('dgram');

    var server = dgram.createSocket('udp4');

    server.on('message',function(msg,rinfo){

          console.log(msg+rinfo.address+rinfo.port);

    });

    server.on('listening',function(){

          var address = server.address();

          console.log(address.address+address.port);

    });

    server.bind(9000,'127.0.0.1');

    //client

    var dgram = require('dgram');

    var client = dgram.createSocket('udp4');

    var message = new Buffer('hello world');

    client.send(message,0,message.length,9000,'127.0.0.1',function(err,bytes){

          client.close();

    });

    1.3 HTTP

    //server

    var http = require('http');

    var server = http.createServer(function(req,res){

          res.writeHead(200,{'Content-Type':'text/plain'});

          var chunks = [];

          req.on('data',function(chunk){

                 chunks.push(chunk);

          })

          req.on('end',function(){

                 var buffer = Buffer.concat(chunks);

                 res.end('hello world! ');

          });

         

    });

    server.listen(9999,'127.0.0.1');

    //client

    var options = {

          hostname:'127.0.0.1',

          port:9999,

          path:'/',

          method:'GET'

    }

    var req = http.request(options,function(res){

          console.log(res.statusCode);

          console.log(JSON.stringify(res.headers));

          res.setEncoding('utf8');

          res.on('data',function(chunk){

                 console.log(chunk);

          })

    });

    req.end();

  • 相关阅读:
    UVaLive 7362 Farey (数学,欧拉函数)
    UVaLive 7361 Immortal Porpoises (矩阵快速幂)
    UVaLive 7359 Sum Kind Of Problem (数学,水题)
    CodeForces 706D Vasiliy's Multiset (字典树查询+贪心)
    负载均衡服务器
    集群-如何理解集群?
    架构规划
    领域模型
    状态图
    E-R图
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4893041.html
Copyright © 2011-2022 走看看