World Wide Web とインターネットは、私たちの生活やお互いのコミュニケーション方法、そして科学、工学、商業のやり方を変えました。現代の生活は完全にインターネット中心、もしくはインターネット中心に動かされています。企業は、イノベーションを導入する新しい方法でさまざまなサービスを作成および通信するための新しい方法を継続的に模索しています。この記事では、Java でのソケット プログラミングについて説明します。
ソケットは、OSI モデルのトランスポート層のネットワークをプログラミングするためのインターフェイスを提供します。ソケットを使用したネットワーク通信は、インターネット全体で広く見られます。それに加えて、Java で書かれたソケット プログラムは、C、C++、Python などの非 Java 言語で書かれたソケット プログラムと通信できます。
広告 このカテゴリーの人気コース プログラミング言語 - 専門分野 | 54 コース シリーズ | 4 つの模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
ソケット クラスのメソッドは Java にあります。ソケットはポート番号にバインドされているため、TCP はデータが送信されるポート番号を認識します。 Java は一連のクラスを提供しており、その 1 つが java.net です。これは、ネットワーク アプリケーションの迅速な開発に使用されます。 java.net パッケージに存在する主要なクラス、インターフェース、および例外により、クライアントおよびサーバー プログラムの作成に伴う複雑さが簡素化されます。
クラスは次のとおりです:
インターフェースは次のとおりです:
例外は次のとおりです。
プログラムの作成に使用される java.net パッケージから使用されるクラスが 2 つあります。
サーバー プログラムは、入力ストリームと出力ストリームを通じて通信します。接続リクエストがある場合は、新しいソケットが使用され、それによって確立された接続がここにあります。
Java でサーバーソケットプログラムを作成するには、さまざまな手順があります。
サーバーソケットプログラムを作成する簡単な手順は次のとおりです:
ステップ 1: ソケットサーバーが開きます。
Server Socket General= new Server Socket(PO)
ここでの PO はポート番号です。
ここで、ポート番号は、入力/出力ストリームを使用して通信するサーバー ネットワークに割り当てられます。
ステップ 2: 辛抱強く待つ必要があるクライアントリクエストがあります。
Socket General= server. accept()
これがサーバーです。 accept() はクライアントを待ちます。ここではソケットの名前は Client です。
ステップ 3: 接続が確立されるように I/O ストリームが作成されます
データ入力ストリーム
is = new Data Input Stream(client. Get Input Stream());
データ出力ストリーム
os = new Data Output Stream(client. get Output Stream());
入力ストリームと出力ストリームには Get Input Stream() が割り当てられ、それぞれ呼び出されます。
ステップ 4: クライアントとの連絡先が作成されます。
クライアントから受信:
string hello = br. Read Line();
クライアントに送信します:
br. Write Bytes("How are you\n");
次のコードは、クライアントと通信し、リクエストを受信およびクライアントに送信します。
ステップ 5: 最後に、ソケットが終了します。
最後に、ソケットのクローズ関数を使用して、ソケット プログラミングを閉じて終了します。
サーバーソケットの簡単な例を以下に示します。
サーバーに接続するための簡単なプログラム。
コード:
import java.net.*; import java.io.*; public class SimpleMachine { public static void main(String args[]) throws IOException { // On port 1362 server port is registered ServerSocket soc = new ServerSocket(1362); Socket soc1=soc.accept(); // Link is accepted after waiting // Linked with the socket there should be a connection OutputStream s1out = soc1.getOutputStream(); DataOutputStream dosH = new DataOutputStream (s1out); // A string command is sent dosH.writeUTF("Hello how are you"); // The connection can be closed but the server socket cannot. dosH.close(); s1out.close(); soc1.close(); } }
次に、Java のシンプル クライアント プログラムを見ていきます。
Java で単純なクライアント プログラムを作成する手順を以下に示します。
ステップ 1: ソケット オブジェクトを作成します。
Socket client= new Socket(server, port_id)
サーバーとポート ID は接続されています。つまり、サーバーはポート ID に接続されています。
ステップ 2: 入力/出力ストリームが作成されます。
is = new Data Input Stream(client.getInputStream());
os = new Data Output Stream(client.getOutputStream());
入力ストリームは、クライアントとの通信に出力ストリーム os が使用されます。
Step 3: Input/Output streams are made for talking to the Client.
Data is read from the server:
string hello = br. readLine();
Send data to the server:
br.writeBytes("How are you\n")
This step communicates with the server. The input stream and output stream both communicates with the server.
Step 4: Close the Socket when done.
This function will close the client when it is finally done.
An example of a simple server socket program is shown below.
A simple program for the client.
Code:
import java.net.*; import java.io.*; public class SimpleMachineClient { public static void main(String args[]) throws IOException { // At port 1325, connection to the server is opened Socket s1H = new Socket("host",1325); // Read the input stream by getting an input file from the socket Input Stream s1I = s1. getInputStream(); Data Input Stream disH = new Data Input Stream(s1In); String str = new String (disH.readUTF()); System.out.println(str); // After it is done, we can close the connection. disH.close(); s1I.close(); s1H.close(); } }
Socket programming is beneficial in Java and in any other programming language. A program written in Java can connect with a program written in C or C++. In other words, the language of the socket program doesn’t matter when there has to be a connection between the two. In this article, we have basically seen the Simple Server and the Simple Client example where there is a connection between the server socket and in the other, there is a connection between the server socket. We have used TCP/IP programming for the same. However, there are a lot of programming techniques like UDP programming techniques and URL programming techniques. We have not seen examples of such in this article. We have stressed on TCP/IP programming technique.
以上がJava でのソケット プログラミングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。