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