Skip to content

Instantly share code, notes, and snippets.

@manzanit0
Created May 30, 2019 16:29
Show Gist options
  • Save manzanit0/bb57f316343e4e99560df491748ebfe8 to your computer and use it in GitHub Desktop.
Save manzanit0/bb57f316343e4e99560df491748ebfe8 to your computer and use it in GitHub Desktop.
Echo Server in Java
package com.manzanit0;
import java.io.*;
import java.net.ServerSocket;
public class EchoServer {
public static void main(String[] args) {
int portNumber = 4098;
try (
var serverSocket = new ServerSocket(portNumber);
var clientSocket = serverSocket.accept();
var outputStream = clientSocket.getOutputStream();
var inputStream = clientSocket.getInputStream()
) {
while(true) {
var bytes = readAllBytes(inputStream);
outputStream.write(bytes);
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
private static byte[] readAllBytes(InputStream stream) throws IOException {
StringBuilder data = new StringBuilder();
// available only returns a value after reading at least 1 character -> do/while.
do {
data.append((char) stream.read());
} while (stream.available() > 0);
return data.toString().getBytes();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment