この記事の例では、Android における Socket 通信の実装方法を簡単に説明します。具体的な内容は次のとおりです。
1. ソケット通信の概要
平たく言えば、ソケットは通信の基礎であり、TCP/IP プロトコルをサポートするネットワーク通信の基本操作単位です。これは、ネットワーク通信プロセスのエンドポイントを抽象的に表現したもので、ネットワーク通信に必要な 5 種類の情報 (接続に使用されるプロトコル、ローカル ホストの IP アドレス、ローカル プロセスのプロトコル ポート、ローカル プロセスの IP アドレス) が含まれています。リモートホストとリモートプロセスのプロトコル。
アプリケーション層がトランスポート層を介してデータを通信する場合、TCP は複数のアプリケーション プロセスに同時サービスを同時に提供するという問題に遭遇します。複数の TCP 接続または複数のアプリケーション プロセスは、同じ TCP プロトコル ポートを介してデータを送信する必要がある場合があります。さまざまなアプリケーション プロセスと接続を区別するために、多くのコンピュータ オペレーティング システムは、アプリケーションが TCP/IP プロトコルと対話するためのソケット (ソケット) インターフェイスを提供します。アプリケーション層は、トランスポート層とのソケット インターフェイスを使用して、さまざまなアプリケーション プロセスまたはネットワーク接続からの通信を区別し、データ送信のための同時サービスを実装できます。
一言で言えば、ソケットは TCP/IP プロトコルのカプセル化です。
2. ソケット (クライアント) を使用する手順:
1. ソケット (Tcp) 接続を確立します。
Java で Socket 接続を確立するのは非常に簡単です。これは、クラス ライブラリによって提供される Socket クラスを使用して実現できます。
Socketclient=null; //クライアントを示します client=newSocket("localhost",5000);
2. データの送信
PrintStreamout=newPrintStream(socket.getOutputStream()); //PrintStream はデータの送信に最も便利です
3.返品情報を受け取る
buf=newBufferedReader(newInputStreamReader(socket.getInputStream())); // ワンタイム受信を完了し、Socket の入力ストリームを読み取り、その中の戻り情報を読み取ります。
4. ソケットを閉じる
Socket.close();
3. 補足:
ソケットサーバー側 (非マルチスレッド実装) ServerSocketserver=null; //ServerSocket クラスを定義します。 Socketclient=null; //印刷ストリーム出力が最も便利であることを示します。ポート 8888 でリッスンします。 System.out.println("サーバーは実行中で、クライアントの接続を待機しています。"); client=server.accept(); //接続を取得すると、プログラムはブロック状態になります。 Stringstr="helloworld" //出力する情報を示します。 out=newPrintStream(client.getOutputStream());out.println(str);クライアントクライアントを閉じる();サーバー.閉じる();