How to create a basic Java Server? [closed] How to create a basic Java Server? [closed] multithreading multithreading

How to create a basic Java Server? [closed]


Here is a simple "Knock Knock" server courtesy of Sun:

import java.net.*;import java.io.*;public class KnockKnockServer {    public static void main(String[] args) throws IOException {        ServerSocket serverSocket = null;        try {            serverSocket = new ServerSocket(4444);        } catch (IOException e) {            System.err.println("Could not listen on port: 4444.");            System.exit(1);        }        Socket clientSocket = null;        try {            clientSocket = serverSocket.accept();        } catch (IOException e) {            System.err.println("Accept failed.");            System.exit(1);        }        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);        BufferedReader in = new BufferedReader(                new InputStreamReader(                clientSocket.getInputStream()));        String inputLine, outputLine;        KnockKnockProtocol kkp = new KnockKnockProtocol();        outputLine = kkp.processInput(null);        out.println(outputLine);        while ((inputLine = in.readLine()) != null) {             outputLine = kkp.processInput(inputLine);             out.println(outputLine);             if (outputLine.equals("Bye."))                break;        }        out.close();        in.close();        clientSocket.close();        serverSocket.close();    }}

You can't get much simpler than this.


There is a straightforward tutorial available via Sun:

http://java.sun.com/developer/onlineTraining/Programming/BasicJava2/socket.html#server

It starts with a basic single thread as above and extends to use multiple as required.


Try using the Jetty server API. http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jettylooks like a good starting point...