NodeJs簡明教程(9)

3823 ワード

NodeJs簡明教程はゼロからNodeJs関連の知識を学び、JS開発者を支援して全スタック開発技術スタックを構築します.
注意して、より多くのNodeJs を取得する.
本論文はNodeJs簡明教程の第9編で、NodeJs netモジュール(TCP / )に関する基本的な操作を紹介します.
TCPとは
転送制御プロトコル(TCP、Transyssion Control Protocol)は、接続に向けた信頼性の高い、バイトストリームベースのトランスポート層通信プロトコルであり、IETFのRFC 793によって定義される.
NodeJsはnet を使用してTCP / 関連機能を実現する.
Echoサーバ開発
Echoサーバとはクライアントが何を送信するかということです.サービス端末には何かが表示されます.主にネットワークとプロトコルを調整するために正常に動作していますか?net.createServerは、次のようなサービス端末を作成するために使用される.net.createServer([options][, connectionlistener]): net.Server
  • options

    • allowHalfOpen は、 オープンTCP が されているかどうかを す. :false.
    • pause OnConnect は、 でソケットを すべきかどうかを している.デフォルト:false
    • connection Listener クライアント イベントモニタ.コールバックパラメータはSocket( )
    • です.
      り はnet.Serverで、net.Serverの な は の りである.server.listen([port[, host[, backlog]]][, callback])
    • ポート ポート
    • Host はホスト
    • を する.
    • backlog ち の
    • calback リスニング コールバック
    • server.js
      const net = require('net');
      
      const server = net.createServer(function (client) { //      
          console.log(client.address().address, '    '); //                
      
          client.on('error', function (e) {
              console.log(client.address().address, ' error >> ', e.message); //      (        )
          });
      
          client.on('data', function (data) { //        
              console.log(client.address().address, ' >> ', data.toString());
              client.write(data); //        
          });
      
          client.on('end', function () { //        
              console.log(client.address().address, '    ');
          });
      });
      
      server.on('error', function (e) { //      (     ,    )
          console.log('       ', e);
      });
      
      server.listen(10000, function () {
          console.log('    ,  ', server.address().address);
      });
    • node server.jsは、 , xxx
    • を ることができます.
    • は を け、telnet localhost 10000を すると、 のような が られます.
    • は の を し けます.
      Trying ::1...
      Connected to localhost.
      Escape character is '^]'.
    • サービス は
      helloworld
    • に します.
      このEchoサーバは についてすでにテストに しました.コード は くないですが、TCPサーバをゼロから する れを しました.C よりTCPサーバーの がずっと です.
      TCPクライアントnet.connectは、ターゲットTCPサーバに することができ、この のプロトタイプは の りである.net.connect(port[,host][,connectionListener])
    • ポート ポート
    • Host はホスト
    • に されている.
    • connection Listener のコールバック
    • それとも、 ほど10000ポートを したサービス を にクライアントを しますか?
      client.js
      hello world
      サービス のオープンを する 、このjsを し、 は の りです.
      const net = require('net');
      
      const client = net.connect(10000, 'localhost', function () { //      
          console.log('       ');
      
          client.write('     '); //         
      
          client.on('data', function (data) { //         
              console.log('     ', data.toString());
              client.end(); //     
          });
      
          client.on('end', function () { //       
              console.log('       ');
          });
      });
      おわりに
      NodeJs TCPサービスとクライアントの はここで しましたが、TCPプロトコルの はこれ ではありません. TCP などを みます.このブロックに があるのは、コードをスキャンしてグループ をすることができます.