javaでポートをリスニングしてデータを受信する方法

Javaでは、ServerSocketやSocketクラスを利用してポートの監視やデータのやりとりを行います。

まず、ServerSocketオブジェクトを作成し、リッスンするポート番号を指定する必要があります。 次に、accept()メソッドを使用してクライアントの接続要求を待ち、クライアントと通信するためのSocketオブジェクトを返します。

クライアント接続が確立したら、Socketオブジェクトの入力ストリームを使用してデータを受信できます。例えば、データを読み取る場合は、InputStreamReaderやBufferedReaderを使用できます。

次に示すサンプルコードは、ポートをリッスンしてデータを受信する方法を示すものです。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
// 创建ServerSocket对象并指定端口号
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("等待客户端连接...");
// 等待客户端连接
Socket socket = serverSocket.accept();
System.out.println("客户端连接成功!");
// 创建输入流
InputStreamReader inputStreamReader = new InputStreamReader(socket.getInputStream());
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// 读取数据
String data = bufferedReader.readLine();
System.out.println("接收到的数据:" + data);
// 关闭连接
bufferedReader.close();
inputStreamReader.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

実際のアプリケーションでは、より多くの場合において異常を処理する必要があるでしょう。また、複数のクライアントが接続した際の同時処理も必要となるでしょう。

bannerAds