Javaを使用してネットワーク接続をリッスンする方法

ネットワーク接続をリッスンするには、Javaのソケットプログラミングを使用できます。

以下は、JavaのSocketでネットワークからの接続をリッスンする方法を示す、簡単なサンプルコードです。

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class NetworkListener {

    public static void main(String[] args) {
        try {
            // 创建ServerSocket,指定监听的端口
            ServerSocket serverSocket = new ServerSocket(8080);

            System.out.println("Listening for incoming connections...");

            while (true) {
                // 接收客户端的连接请求
                Socket socket = serverSocket.accept();

                // 创建一个新线程处理每个连接
                Thread thread = new Thread(() -> {
                    try {
                        // 获取输入流,读取客户端发送的数据
                        InputStream inputStream = socket.getInputStream();
                        byte[] buffer = new byte[1024];
                        int bytesRead;
                        StringBuilder stringBuilder = new StringBuilder();
                        while ((bytesRead = inputStream.read(buffer)) != -1) {
                            stringBuilder.append(new String(buffer, 0, bytesRead));
                        }

                        System.out.println("Received data: " + stringBuilder.toString());

                        // 关闭连接
                        socket.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                });

                thread.start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

このコードは、ServerSocketオブジェクトを作成し、监听するポート(ここでは8080)を指定します。次に、accept()メソッドを呼び出して、クライアントからの接続要求を受信します。新しい接続が受信されるたびに、その接続を処理するために新しいスレッドが作成されます。処理スレッドでは、入力ストリームを取得し、クライアントから送信されたデータを読み取り、それに応じた処理を行います。最後に、socket.close()を呼び出して接続を閉じます。

bannerAds