/* * 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 model; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Observable; import java.util.logging.Level; import java.util.logging.Logger; import logger.OhmLogger; /** * * @author Apollo */ public class Transmitter extends Observable implements Runnable { private static final Logger lg = OhmLogger.getLogger(); private static final int PORT = 35000; private static final String IP_ADRESSE = "127.0.0.1"; int modus; public Transmitter(int modus) { } @Override public void run() { if(modus == 0) { try { server(); } catch (IOException ex) { Logger.getLogger(Transmitter.class.getName()).log(Level.SEVERE, null, ex); } } else if(modus == 1) { try { client(); } catch (IOException ex) { Logger.getLogger(Transmitter.class.getName()).log(Level.SEVERE, null, ex); } } } public void client() throws IOException { lg.info("Client: verbinde ..."); Socket s = new Socket(IP_ADRESSE, PORT); // Achtung: blockiert! lg.info("Client: Verbindung hergestellt"); InputStream iStream = s.getInputStream(); OutputStream oStream = s.getOutputStream(); InputStreamReader isr = new InputStreamReader(iStream, "UTF-8"); OutputStreamWriter osr = new OutputStreamWriter(oStream, "UTF-8"); BufferedReader in = new BufferedReader(isr); //BufferedWriter out = new BufferedWriter(osr); PrintWriter out = new PrintWriter(osr); lg.info("Client: Stream initialisiert"); out.println("Hallo Du Server Du - ich bin der client"); out.flush(); // wirklich absenden!! lg.info("Client: Nachricht versendet"); String quittung = in.readLine(); // Achtung blockiert lg.info("Client: Quittung empfangen"); System.out.println("Client: Quittung EMPFANGEN - " + quittung); out.close(); in.close(); } public void server() throws IOException { ServerSocket sSocket = new ServerSocket(PORT); lg.info("Server: Warte auf Verbindung ..."); Socket s = sSocket.accept(); // Achtung: blockiert! lg.info("Server: Verbindung akzeptiert"); InputStream iStream = s.getInputStream(); OutputStream oStream = s.getOutputStream(); InputStreamReader isr = new InputStreamReader(iStream, "UTF-8"); OutputStreamWriter osr = new OutputStreamWriter(oStream, "UTF-8"); BufferedReader in = new BufferedReader(isr); //BufferedWriter out = new BufferedWriter(osr); PrintWriter out = new PrintWriter(osr); lg.info("Server: Stream initialisiert"); lg.info("Server: warte auf Nachricht ..."); String nachricht = in.readLine(); // Achtung blockiert lg.info("Server: Nachricht empfangen"); System.out.println("Server: NACHRICHT EMPFANGEN - " + nachricht); out.println("Server -> ich habe die Nachricht erhalten"); lg.info("Server: Quittung versendet"); out.flush(); // wirklich absenden!! out.close(); in.close(); } }