Index

java sockets

server socket hello world
public static void main(String[] args) throws IOException {
		ServerSocket server = new ServerSocket(9876);

		while (true) {
			Socket client = server.accept();
			new Thread(() -> handle(client)).start();
		}
	}

	private static void handle(Socket client) {
		try {
			PrintWriter out = new PrintWriter(client.getOutputStream(), true);
			BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

			String received = in.readLine();
			System.out.println("received: " + received);

			switch (received) {

			case "shutdown":
				out.println("shutting down");
				client.close();
				System.exit(0);

			case "hello":
				out.println("hello client");
				client.close();
				return;

			default:
				out.println("unknown command: " + received);
				client.close();
			}

		} catch (IOException e) {
			e.printStackTrace();
		}
	}
client socket hello world
public static void main(String[] args) throws IOException {
		try (Socket client = new Socket("localhost", 9876)) {
			PrintWriter writer = new PrintWriter(client.getOutputStream(), true);
			writer.println(JOptionPane.showInputDialog("message to send?"));

			BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
			System.out.println("server: " + reader.readLine());
		}
	}
sending a test message through netcat
echo "hello" | nc localhost 9876