TCPプロトコルAPI


TCPプロトコルAPI
  • クライテリア
  • TCPプロトコル
  • ソケット
  • ServerSocket
  • ServerSocketを初期化する
  • accept
  • get OutputStream
  • get InputStream
  • get InetAddress()
  • 前言
    もともとはTCPプロトコルをよく勉強したいのですが、授業を見ていると思ったのではないようです。中のAPIの部分と、プロジェクトを挟んでいます。時間がきついので、今回はこれらのAPIを記録して、時間があればまたTCPプロトコルに関する知識をシステムで勉強します。
    TCPプロトコル
    java.net.SocketはTCPプロトコルをカプセル化しています。これを使ってTCPプロトコルに基づいてネットワーク通信ができます。ソケットはクライアントで動作します。
    ソケット
    public Client() throws Exception{
    	socket = new Socket("localhost",8188);
    }
    
    socketを初期化するには二つのパラメータが必要です。
  • サービスエンドアドレス:IPアドレスを通じて、サーバーのコンピュータを見つけることができます。
  • サービスエンドポート:ポートを通じて、サービスエンドコンピュータ上のサービスエンドアプリケーションの実行例化socketdd額プロセスはリンクのプロセスであり、リモートコンピュータが応答しないと例外を投げます。
  • ServerSocket
    再サービスを実行するServerSocketの主な責任:
  • は、サービスポートをシステムに申請する。クライアントは、このポートを介して
  • と接続されています。
  • は、アプリケーションのサービスポートを傍受する。ServerSocketは、サービス端末がポートを介して接続の確立を試みると、サービス端末でソケットを作成してクライアントと接続を確立する。
  • 初期化サービス
    serverSocket = new ServerSocket(8188);
    
    accept
    Socket socket = serverSocket.accept();
    
    accept方法は一つのクライアントが接続されてSocketを作成するまでサービスポートを傍受するブロック方法であり、このsocketを使って接続したばかりのクライアントと対話できる。
    get OutputStream
    バイト出力ストリームを取得すると、このストリームによって作成されたデータがリモートコンピュータに送信されます。
    OutputStream os = socket.getOutputStream();
    
    get InputStream
    入力ストリームを取得し、このストリームによってリモートから送信されたデータを取得することができます。
    InputStream is = socket.getInputStream();
    
    get InetAddres()
    socketで遠端コンピュータtのアドレス情報を取得できます。
    InetAddress address = socket.getInetAddress();
    host = address.getHostAddress();//  ip