Skip to content

Instantly share code, notes, and snippets.

@Korilakkuma
Last active August 29, 2015 14:06
Show Gist options
  • Select an option

  • Save Korilakkuma/d9d3a56a4295c9748d4a to your computer and use it in GitHub Desktop.

Select an option

Save Korilakkuma/d9d3a56a4295c9748d4a to your computer and use it in GitHub Desktop.
Socket Server
import java.util.*;
import java.io.*;
import java.net.*;
public final class SocketServer {
private static final int LISTEN_PORT = 9999;
private static final int TIMEOUT = 60000; //ms
public static void main(String[] args) {
ServerSocket serverSocket = null;
Socket clientSocket = null;
try {
serverSocket = new ServerSocket(SocketServer.LISTEN_PORT);
serverSocket.setSoTimeout(SocketServer.TIMEOUT);
System.out.println("Waiting (" + SocketServer.LISTEN_PORT + ") ...");
clientSocket = serverSocket.accept();
Reader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
Writer output = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
StringBuilder sb = new StringBuilder(4096);
int c;
while ((c = input.read()) != -1) {
if (c == '.') {
break;
} else {
sb.append((char)c);
}
}
output.write(sb.toString());
output.flush();
System.out.println(sb);
} catch (SocketTimeoutException error) {
System.err.println("TIMEOUT");
error.printStackTrace();
} catch (IOException error) {
error.printStackTrace();
} finally {
try {
if (clientSocket != null) {clientSocket.close();}
if (serverSocket != null) {serverSocket.close();}
} catch (IOException error) {
error.printStackTrace();
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment