/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package netz.controller; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.logging.Logger; import ohmlogger.OhmLogger; import netz.model.ChatModel; import netz.view.ChatView; /** * * @author hd, chris */ public class CommandConnect implements ActionListener { private static Logger lg = OhmLogger.getLogger(); ChatView view; ChatModel model; private static final int PORT = 35000; private static final String IP_ADRESSE = "127.0.0.1"; public CommandConnect(ChatView view, ChatModel transmitter) { this.view = view; this.model = transmitter; } public void registerEvents(){ view.getBtnSetServer().addActionListener(this); view.getBtnSetClient().addActionListener(this); } @Override public void actionPerformed(ActionEvent e) { Object src = e.getSource(); // connect to server if(src == view.getBtnSetServer()){ synchronized (this){ try { view.getLblType().setText("Server"); ServerSocket sSocket = new ServerSocket(PORT); lg.info("Server: Warte auf Verbindung ..."); Socket s = sSocket.accept(); // Achtung: blockiert! lg.info("Server: Verbindung akzeptiert"); model.setSocket(s); } catch (IOException ex) { lg.severe(ex.toString()); } } } // connect to vlient if(src == view.getBtnSetClient()){ synchronized (this){ try { view.getLblType().setText("Client"); lg.info("Client: verbinde ..."); Socket s = new Socket(IP_ADRESSE, PORT); // Achtung: blockiert! lg.info("Client: Verbindung hergestellt"); model.setSocket(s); } catch (IOException ex) { lg.severe(ex.toString()); } } } } }