package network.sockets; import constants.Constants; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java.util.logging.Level; import java.util.logging.Logger; import network.MessageGenerator; /** * * @author Mark */ public class RequestSender { private static final Logger LOG = Logger.getLogger(RequestSender.class.getName()); private final String destinationIp; private final MessageGenerator messageGenerator = new MessageGenerator(); public RequestSender(final String destinationIp) { this.destinationIp = destinationIp; } public void sendRequest(final String request) { try { final Socket socket = new Socket(destinationIp, Constants.PORT); final PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); writer.println(request); writer.close(); socket.close(); } catch (Exception ex) { LOG.log(Level.SEVERE, null, ex); } } // @SuppressWarnings({"rawtypes", "unchecked"}) // public Collection<Integer> requestQueue() { // try { // final Socket socket = new Socket(destinationIp, Constants.PORT); // final PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); // writer.println(messageGenerator.requestQueue()); // writer.flush(); // final ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); // final Collection<Integer> response = (Collection<Integer>) ois.readObject(); // writer.close(); // ois.close(); // socket.close(); // return response; // } catch (Exception ex) { // LOG.log(Level.SEVERE, null, ex); // } // return Collections.EMPTY_SET; // } @SuppressWarnings({"rawtypes", "unchecked"}) public Socket registerTutorClient() { try { final Socket socket = new Socket(destinationIp, Constants.PORT); final PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); writer.println(messageGenerator.registerTutorClient()); writer.flush(); return socket; } catch (Exception ex) { LOG.log(Level.SEVERE, "Error registering tutor client", ex); } return null; } }