package com.example.socket;

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 TCPServer {

	public static void main(String[] args) {
		// set server to listen on port 8080
		try (ServerSocket serverSocket = new ServerSocket(8080)) {
			System.out.println("Server is listening on port 8080");
			// now server is listening for incoming connection
			try (Socket socket = serverSocket.accept();
					// read message from input stream
					PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
					BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {

				// prepare message to display to console
				String message = in.readLine();
				System.out.println("Received: " + message);
				// send message to client
				out.println("Hello from server!");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}
