Newer
Older
democall3 / src / network / sockets / RequestSender.java
geoma48p on 20 Jul 2015 2 KB Started transition to JMS.
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;
	}

}