package clientserverthr;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
	private ServerSocket servSock;

	public Server() {
		try {
			servSock = new ServerSocket(6223);
			Socket sock;
			while(true){
					sock = servSock.accept();
					new ClientWorker(sock);
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		Server s = new Server();
	}
}

class ClientWorker extends Thread {

	private Socket sock;
	private PrintWriter writer;
	private BufferedReader reader;

	public ClientWorker(Socket sock) {
		this.sock = sock;
		try {
			writer = new PrintWriter(sock.getOutputStream(), true);
			reader = new BufferedReader(new InputStreamReader(
					(sock.getInputStream())));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		start();
	}

	@Override
	public void run() {
		while (true) {
			String text;
			try {
				text = reader.readLine();
				// proizvoljna slozena logika
				writer.println(text + "..");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
