Skip to content

Instantly share code, notes, and snippets.

@herber
Last active September 26, 2018 09:12
Show Gist options
  • Save herber/c73e9af6a2af7d8b403237de46d970ec to your computer and use it in GitHub Desktop.
Save herber/c73e9af6a2af7d8b403237de46d970ec to your computer and use it in GitHub Desktop.
Echo server
import java.io.BufferedReader;
import java.io.*;
import java.net.*;
class Handler implements Runnable {
private Socket client;
public Handler (Socket c) {
client = c;
}
public void run() {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter writer = new PrintWriter(client.getOutputStream(), true);
writer.println("Hello!");
while (true) {
String line = reader.readLine();
if (line.equals("bye")) {
writer.println("bye! <3");
break;
}
writer.println(line);
}
}
catch (Exception e) {
System.err.println(e.getMessage());
}
finally {
try {
client.close();
}
catch (Exception e){
System.out.println(e.getMessage());
}
}
}
}
import java.net.Socket;
import java.net.ServerSocket;
import java.io.IOException;
import java.lang.Thread;
public class Server {
public static void main(String[] args) {
Server.server();
}
public static void server() {
try {
ServerSocket server = new ServerSocket(9090);
while (true) {
Socket client = server.accept();
Handler h = new Handler(client);
Thread t = new Thread(h);
t.start();
}
} catch (Exception err) {
System.out.println(err.getMessage());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment