Javaネットワークプログラミング探究|楽バイト


皆さん、こんにちは、私は楽バイトの小さい楽で、前回みんなにJavaの中のIOストリームの出力ストリーム|楽バイトを話して、本文はみんなにネットのプログラミングを話します.
主な内容は以下の通りです.
  • ネットワーク
  • ネットワーク階層
  • リスト項目
  • IP位置
  • ポートport
  • ネットワークプログラミング
  • 一、ネットワーク
    1、概念
    ネットワークは、異なる領域のコンピュータに接続され、ローカルエリアネットワーク、シティエリアネットワーク、または広域ネットワークを構成します.異なる地理区域に分布するコンピュータと専門の外部設備用通信線路を互いに接続して1つの規模が大きくて、機能の強いネットワークシステムになって、それによって多くのコンピュータが便利に互いに情報を伝達することができて、ハードウェア、ソフトウェア、データ情報などの資源を共有します.
    2、主な機能
    •リソース共有•情報転送と集中処理•負荷分散処理の均等化
    3、ネットワーク通信プロトコル
    コンピュータネットワークにおける通信を実現するには、レート、伝送コード、コード構造、伝送に関するいくつかの約束、すなわち通信プロトコルが必要である.
    送り制御手順、エラー制御などの制定基準.
    4、ネットワーク通信インタフェース
    2つのノード間で会話が可能になるためには、互いに情報交換が可能になるように、通信ツール(すなわちインタフェース)を確立する必要がある.インタフェースには、次の2つのセクションがあります.
    •ハードウェア装置:ノード間の情報伝送を実現する;•ソフトウェア装置:双方が通信を行うことを規定する約定協議
    二、ネットワークの階層化
    ノード間のつながりが複雑であるため,プロトコルを作成する際に複雑な成分を簡単な成分に分解し,それらを複合する.最も一般的な複合方式は階層方式であり、すなわち、同層間で通信可能であり、上位層は次の層を呼び出すことができ、次の層とは関係がない.
    1、通信プロトコルの階層化
    2、パッケージ
    パッケージ:上から下へ、関連レイヤのプロトコル制御情報を追加
    3、開封
    開封:データを取得し、下から上へ、関連層のプロトコルの制御情報を除去する
    三、IP位置
    (IP)はインターネットProtocolの外国語の略で、ネットワーク間の相互接続のプロトコルはコンピュータネットワークの相互接続のために通信を行うために設計されたプロトコルである.インターネットでは、インターネットに接続されたすべてのコンピュータネットワークを相互通信させることができる一連のルールであり、コンピュータがインターネット上で通信を行う際に遵守すべきルールを定めている.いかなるメーカーが生産したコンピュータシステムは、IPプロトコルさえ守ればインターネットと相互接続できる.
    ポート:データの流れを区別するソフトウェア0-65535 1024以下のポートを使用しないでください.各プロトコルは自分のポートを持っています.同じプロトコルの下でポートはFTP:21 HTTP:80を繰り返してはいけません.
    四、ポート:port
    ポートは仮想の概念であり、ホスト上に本当にいくつかのポートがあるわけではありません.ポートを使用すると、1つのホスト上で複数のネットワークアプリケーションを実行できます.IPは会社に相当し、ポートは会社の各部門に相当し、URLは各部門の人員に相当する.
    五、資源の転送プロトコル
    TCP:TCP(transfer control protocol)電話をかけるのは接続に向いて、安全で、信頼性が高くて、効率が低いUDP:UDP(UserDatagramProtocol)メールを送るのは接続に向いていないで、安全ではありませんて、データは失って、効率が高いです
    六、ネットワークプログラミング
    1、InetAddress
    コンピュータのipアドレスとDNS(Domain Name System、ドメイン名システム)をカプセル化し、ポートがない.1)、メソッドInetAddress.getLocalHost();InetAddress.getByName("http://www.163.com");InetAddress.getByName("223.87.1.58")
    2)、メソッドgetHostAddress()はipアドレスgetHostName()はドメイン名を返します|本機はコンピュータ名です
    2、InetSocketAddress
    ソケット通信用のポートを含む1)、取得対象InetSocketAddress(String hostname,int port)InetSocketAddress(InetAddress address,int port)
    2)、メソッドgetAddress()InetAddressオブジェクトgetPort()戻りポートgetHostName()戻りドメイン名
    3 、URL
    1)、URI(Uniform resource identifier)は、1つのリソースを一意に識別するためのリソース識別子を統一する.
    2)、URL(Uniform Resource Locator)統合リソースロケータ.統合リソースロケータは、プロトコル、リソースを格納するホストドメイン名、リソースファイル名、ポート番号の4つのセクションで構成されています.URLはインターネットの「リソース」へのポインタです.リソースは、単純なファイルまたはディレクトリであってもよいし、データベースや検索エンジンのクエリーなど、より複雑なオブジェクトへの参照であってもよい.
    3)、ネット爬虫類の原理
    public static void main(String[] args) throws IOException {
            URL url=new URL("http://www.baidu.com");//          
    //                        :1、         2、         
            /*InputStream is=url.openStream();
            byte[]flush=new byte[1024];
            int len=0;
            while(-1!=(len=is.read(flush))){
                System.out.println(new String(flush,0,len));
            }
            is.close();*/
            BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream(),"utf-8"));
            BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("baidu2.html"),"utf-8"));
            String msg=null;
            while((msg=br.readLine())!=null){
        //          。        ,    ,           。
                bw.append(msg);
                bw.newLine();//             
            }
            bw.flush();//    
            bw.close();
            br.close();}
    

    4、UDPプログラミング:DatagramSocket DatagramPacket
    UserDatagramProtocolは、トランザクション向けの単純で信頼性の低い情報伝送サービスを提供する接続されていない伝送層プロトコルです.その特徴は:非対向接続;伝送が信頼できない;データが失われる可能性があります.
    1)、サーバ:①サーバDatagramSocketクラスの作成+ポートの指定②コンテナバイト配列の受信準備+DatagramPacketパケットにカプセル化③データの受信④データの分析⑤リソースの解放
    2)、クライアント:①クライアントDatagramSocketクラス+指定ポートの作成②データバイト配列の準備③パケットにカプセル化するパケット送信アドレス+ポートであるサーバとポートを指定する必要がある④送信データ⑤リソースの解放
    5、TCPプログラミング:Server Socket Socket
    Transfer control protocolは、接続(接続ガイド)向けの、信頼性の高い、バイトストリームベースのトランスポート層(Transport layer)通信プロトコルのポイントツーポイントの通信である.TCP 3回握手(Three-way Handshake)は、電話をかけるのと同じです.
    1)、特徴
    tcpプロトコルに基づいて、安定した接続のポイント対ポイントの通信を確立する.リアルタイム、高速、安全性が高く、システム資源を多く占有し、効率が低い.要求応答モード:
    a)、クライアント:ネットワーク通信において、初めてアクティブに通信を開始するプログラムをクライアント(Client)プログラムと呼ぶ
    b)、サーバ:初回の通信で接続待ちのプログラムをサーバ側(Server)プログラムと呼ぶ
    •Socket:TCPメッセージの送信
    •サーバソケット:サーバの作成
    ソケットはプロセス間のデータ交換メカニズムです.これらのプロセスは、同じマシン上でも、ネットワーク上でも実行できます.
    絡み合った異なる機械に.言い換えれば、ソケットは通信端点の役割を果たす.単一のソケットは端点です
    一方、一対のソケットは、非関連プロセスがローカルまたはネットワークを介してデータを行うことができるように、双方向通信チャネルを構成する.
    交換する.ソケット接続が確立されると、データは、同じまたは異なるシステムで双方向または一方向に送信され、それが
    接続を閉じる
    2)、サーバ:
    ①サーバ指定ポートの作成
    ②クライアント接続待ち
    ③受信データの分析
    3)、クライアント:
    ①接続サーバ:クライアントの作成+サーバアドレスの指定+ポート
    ②送信データ
    楽バイトオリジナル、転載は出典を明記してください.
    ネットプログラミングについてはここまでですが、Javaの干物は楽バイトに引き続き注目してください.