Java tutorial
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class MainClass extends Thread { private ServerSocket serverSocket; public MainClass() throws IOException { serverSocket = new ServerSocket(2000); } public void run() { try { Socket client = serverSocket.accept(); DataInputStream in = new DataInputStream(client.getInputStream()); BufferedReader console = new BufferedReader(new InputStreamReader(System.in)); DataOutputStream out = new DataOutputStream(client.getOutputStream()); while (true) { String message = in.readUTF(); System.out.println(message); System.out.print("Enter response: "); String response = console.readLine(); out.writeUTF(response); } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { try { Thread t = new MainClass(); t.start(); } catch (IOException e) { e.printStackTrace(); } } }