Java でメッセージを送受信する方法
Javaでは、Socketクラスを使用してメッセージを送受信します。
- 最初に,ターゲットホストおよびポート番号を指定するSocketオブジェクトを作成する必要があります。例えば:
- String hostName = “example.com”;
int portNumber = 80;
Socket socket = new Socket(hostName, portNumber); - ソケットの出力ストリームを取得し、その出力ストリームを使用してメッセージデータを送信します。例:
- OutputStream outputStream = socket.getOutputStream();
String message = “こんにちは、世界!”;
byte[] messageBytes = message.getBytes();
outputStream.write(messageBytes);
outputStream.flush(); - 最後に、接続を閉じます
- ソケットを閉じる。
- サーバーソケットの生成:
最初にサーバソケットオブジェクトを作成し、例えば以下のようにリッスンするポート番号を指定する: - int portNumber = 8080;
ServerSocket serverSocket = new ServerSocket(portNumber); - その後、サーバーソケットのaccept()を呼び出してクライアントからの接続を待ち受け、クライアントとのソケットオブジェクトを取得する。例えば:
- ソケット clientSocket = serverSocket.accept();
- 次に、ソケットの入力ストリームを取得し、その入力ストリームを使用してメッセージデータを受け取ります。例:
- InputStream inputStream = clientSocket.getInputStream();
byte[] buffer = new byte[1024];
int bytesRead = inputStream.read(buffer);
String message = new String(buffer, 0, bytesRead, StandardCharsets.UTF_8);
System.out.println(“Received message: ” + message); - 最後に接続を閉じます
- クライアントソケットを閉じる。サーバーソケットを閉じる。
ネイティブのJava Socketを使用してメッセージの送受信を実装しました。もちろん、NettyやOkHttpなどの高度なネットワークライブラリを使用してメッセージの送受信プロセスを簡略化することもできます。