Newer
Older
nonet / tp6-8 / src / ch / epfl / lca / sc250 / ServentServer.java
@Andreas Jaggi Andreas Jaggi on 12 Jun 2006 1 KB Changed directory structure
package ch.epfl.lca.sc250;

import javax.swing.JOptionPane;

import java.io.*;
import java.net.*;

import ch.epfl.lca.sc250.gui.finalgui.*;

/**
 * @author Christophe Trefois
 *
 */
public class ServentServer extends Thread {

	private CnFrameMain gui;

	public static void main(String[] args) {
		ServentServer s = new ServentServer(new CnFrameMain("abc"));
		s.loop();
	}

	public ServentServer ( CnFrameMain gui ) {
		this.gui = gui;
	}

	public void run ( ) {
		this.loop();
	}

	public void loop ( ) {
		// Open a Socket and listen on incoming offer requests.
		//
		try {
			boolean result;
			String message;
			ServerSocket knockSock;
			Socket sock;
			int targetport = 13371;
			BufferedReader inReader;
			DataOutputStream outStream;
			
			knockSock = new ServerSocket(targetport);

			while ( true ) {

				sock = knockSock.accept();

				outStream = new DataOutputStream(sock.getOutputStream());
				inReader = new BufferedReader(new InputStreamReader(sock.getInputStream()));

				message = inReader.readLine();

				String[] parsed = message.split(", ");

				// We suppose we got and parsed an offer, we then want the pop-up to display
				result = gui.getOfferResult(sock.getInetAddress().toString(), parsed[0], parsed[1]);

				if(result) {
					System.out.println("Yes");
					outStream.writeBytes("Yes\n");
				} else {
					System.out.println("No");
					outStream.writeBytes("No\n");
				}

				sock.close();
			}
		} catch ( IOException e ) {
			System.out.println("IO-Error");
			e.printStackTrace();
		}
	}
}