Browse Source

Absoluter Pfusch der überhaupt gar nicht funktioniert!!!

master
Gerhard Switalski 6 years ago
parent
commit
dc9d1d749a

+ 0
- 76
src/chatprogramm/Client.java View File

/*
* 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 chatprogramm;

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.Socket;
import java.util.logging.Logger;

/**
* Builder Class
* @author le
*/
public class Client
{
private static final Logger lg = Logger.getLogger("netz");
private static final int PORT = 35000;
private static final String IP_ADRESSE = "127.0.0.1";
public 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();
}

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
try
{
new Client();
}
catch (IOException ex)
{
lg.severe(ex.toString());
}
}
}

+ 0
- 76
src/chatprogramm/Server.java View File

/*
* 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 chatprogramm;

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.logging.Logger;

/**
* Builder Class
* @author le
*/
public class Server
{
private static final Logger lg = Logger.getLogger("netz");
private static final int PORT = 35000;
public 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();
}

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
try
{
new Server();
}
catch (IOException ex)
{
lg.severe(ex.toString());
}
}
}

+ 12
- 0
src/chatprogramm/Start.java View File



package chatprogramm; package chatprogramm;


import chatprogramm.controller.ConnectController;
import chatprogramm.controller.ReceiveAdapterController;
import chatprogramm.controller.SendController;
import chatprogramm.model.Transmitter;
import chatprogramm.view.ChatView;

/** /**
* Builder Class * Builder Class
* @author le * @author le
{ {
public Start() public Start()
{ {
ChatView view = new ChatView();
Transmitter model = new Transmitter();
ConnectController conCon = new ConnectController(view, model);
ReceiveAdapterController reiAdapCon = new ReceiveAdapterController(view, model);
SendController sendCon = new SendController(view, model);
view.setVisible(true);
} }



+ 61
- 0
src/chatprogramm/controller/ConnectController.java View File



package chatprogramm.controller; package chatprogramm.controller;


import chatprogramm.logger.OhmLogger;
import chatprogramm.model.Transmitter; import chatprogramm.model.Transmitter;
import chatprogramm.view.ChatView; import chatprogramm.view.ChatView;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;


/** /**
* *
{ {
private ChatView view; private ChatView view;
private Transmitter model; private Transmitter model;
private static final Logger logger = OhmLogger.getLogger();
private String ip = null;
private int port = 0;
public ConnectController(ChatView view, Transmitter model) public ConnectController(ChatView view, Transmitter model)
{ {
this.view = view; this.view = view;
this.model = model; this.model = model;
chooseConnection();
}
void chooseConnection()
{
Object[] options = {"Client", "Server"};
int choice = JOptionPane.showOptionDialog(view, "Wähle deine Verbindungsart:", "Client oder Server", 0, 1, null, options, null);

if(choice == 1)
{
logger.info("Server");
String port = JOptionPane.showInputDialog(view, "PORT eingeben");
logger.info("Port für Server ist: localhost:" + port);
startServer();
}
else
{
logger.info("Client");
port = Integer.parseInt(JOptionPane.showInputDialog(view, "PORT eingeben"));
ip = JOptionPane.showInputDialog(view, "IP vom Server bitte");
logger.info("Client IP Adresse und Port ist: " + ip + ":" + port);
startClient();
}
}
public void startServer()
{
try
{
model.createServer(port);
}
catch (IOException ex)
{
Logger.getLogger(ConnectController.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void startClient()
{
try
{
model.createClient(port, ip);
}
catch (IOException ex)
{
Logger.getLogger(ConnectController.class.getName()).log(Level.SEVERE, null, ex);
}
} }
} }

+ 7
- 17
src/chatprogramm/model/Client.java View File

public class Client public class Client
{ {
private static final Logger lg = OhmLogger.getLogger(); private static final Logger lg = OhmLogger.getLogger();
private static final int PORT = 35000;
private static final String IP_ADRESSE = "127.0.0.1";
private static int PORT = 35000;
private static String IP_ADRESSE = "127.0.0.1";
public Client() throws IOException
public Client(int port, String ip) throws IOException
{ {
if(port != 0) {this.PORT = port;};
if(ip != null | ip != "") {this.IP_ADRESSE = ip;};
lg.info("Client: verbinde ..."); lg.info("Client: verbinde ...");
Socket s = new Socket(IP_ADRESSE, PORT); // Achtung: blockiert! Socket s = new Socket(IP_ADRESSE, PORT); // Achtung: blockiert!
lg.info("Client: Verbindung hergestellt"); lg.info("Client: Verbindung hergestellt");
in.close(); in.close();
} }


/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
try
{
new Client();
}
catch (IOException ex)
{
lg.severe(ex.toString());
}
}
} }

+ 6
- 16
src/chatprogramm/model/Server.java View File

public class Server public class Server
{ {
private static final Logger lg = OhmLogger.getLogger(); private static final Logger lg = OhmLogger.getLogger();
private static final int PORT = 35000;
private static int PORT = 35000;
public Server() throws IOException
public Server(int port) throws IOException
{ {
if(port != 0)
{
this.PORT = port;
}
ServerSocket sSocket = new ServerSocket(PORT); ServerSocket sSocket = new ServerSocket(PORT);
lg.info("Server: Warte auf Verbindung ..."); lg.info("Server: Warte auf Verbindung ...");
Socket s = sSocket.accept(); // Achtung: blockiert! Socket s = sSocket.accept(); // Achtung: blockiert!
in.close(); in.close();
} }


/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
try
{
new Server();
}
catch (IOException ex)
{
lg.severe(ex.toString());
}
}
} }

+ 15
- 0
src/chatprogramm/model/Transmitter.java View File



package chatprogramm.model; package chatprogramm.model;


import java.io.IOException;

/** /**
* *
* @author Gerhard * @author Gerhard
*/ */
public class Transmitter public class Transmitter
{ {
Server server;
Client client;
public Transmitter() public Transmitter()
{ {


} }
public void createServer(int port) throws IOException
{
server = new Server(port);
}
public void createClient(int port, String ip) throws IOException
{
client = new Client(port, ip);
}
} }

+ 12
- 17
src/chatprogramm/view/ChatView.form View File



<Form version="1.9" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo"> <Form version="1.9" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
<NonVisualComponents> <NonVisualComponents>
<Container class="javax.swing.JDialog" name="jDialogServerClient">

<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<EmptySpace min="0" pref="400" max="32767" attributes="0"/>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<EmptySpace min="0" pref="300" max="32767" attributes="0"/>
</Group>
</DimensionLayout>
</Layout>
</Container>
<Menu class="javax.swing.JMenuBar" name="jMenuBar1"> <Menu class="javax.swing.JMenuBar" name="jMenuBar1">
<SubComponents> <SubComponents>
<Menu class="javax.swing.JMenu" name="jMenu2"> <Menu class="javax.swing.JMenu" name="jMenu2">
<SyntheticProperties> <SyntheticProperties>
<SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/> <SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/>
<SyntheticProperty name="formSizePolicy" type="int" value="1"/> <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
<SyntheticProperty name="generateCenter" type="boolean" value="true"/>
</SyntheticProperties> </SyntheticProperties>
<AuxValues> <AuxValues>
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-112,0,0,2,88"/>
</AuxValues> </AuxValues>


<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/> <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
<Property name="text" type="java.lang.String" value="clear"/> <Property name="text" type="java.lang.String" value="clear"/>
</Properties> </Properties>
</Component> </Component>
<Component class="javax.swing.JButton" name="btnServer">
<Properties>
<Property name="text" type="java.lang.String" value="jButton1"/>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="jButton1">
<Properties>
<Property name="text" type="java.lang.String" value="jButton1"/>
</Properties>
</Component>
</SubComponents> </SubComponents>
</Container> </Container>
<Container class="javax.swing.JLayeredPane" name="chatContent"> <Container class="javax.swing.JLayeredPane" name="chatContent">

+ 11
- 21
src/chatprogramm/view/ChatView.java View File

return btnSend; return btnSend;
} }


/**
* @return the jDialogServerClient
*/
public javax.swing.JDialog getjDialogServerClient()
{
return jDialogServerClient;
}

/** /**
* @return the taEmpfangen * @return the taEmpfangen
*/ */
private void initComponents() private void initComponents()
{ {


jDialogServerClient = new javax.swing.JDialog();
chatControll = new javax.swing.JLayeredPane(); chatControll = new javax.swing.JLayeredPane();
btnSend = new javax.swing.JButton(); btnSend = new javax.swing.JButton();
btnClear = new javax.swing.JButton(); btnClear = new javax.swing.JButton();
btnServer = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
chatContent = new javax.swing.JLayeredPane(); chatContent = new javax.swing.JLayeredPane();
jScrollPane1 = new javax.swing.JScrollPane(); jScrollPane1 = new javax.swing.JScrollPane();
taEmpfangen = new javax.swing.JTextArea(); taEmpfangen = new javax.swing.JTextArea();
jMenu2 = new javax.swing.JMenu(); jMenu2 = new javax.swing.JMenu();
jMenu3 = new javax.swing.JMenu(); jMenu3 = new javax.swing.JMenu();


javax.swing.GroupLayout jDialogServerClientLayout = new javax.swing.GroupLayout(jDialogServerClient.getContentPane());
jDialogServerClient.getContentPane().setLayout(jDialogServerClientLayout);
jDialogServerClientLayout.setHorizontalGroup(
jDialogServerClientLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
jDialogServerClientLayout.setVerticalGroup(
jDialogServerClientLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);


chatControll.setLayout(new java.awt.FlowLayout()); chatControll.setLayout(new java.awt.FlowLayout());
btnClear.setText("clear"); btnClear.setText("clear");
chatControll.add(btnClear); chatControll.add(btnClear);


btnServer.setText("jButton1");
chatControll.add(btnServer);

jButton1.setText("jButton1");
chatControll.add(jButton1);

getContentPane().add(chatControll, java.awt.BorderLayout.PAGE_END); getContentPane().add(chatControll, java.awt.BorderLayout.PAGE_END);


chatContent.setLayout(new javax.swing.BoxLayout(chatContent, javax.swing.BoxLayout.PAGE_AXIS)); chatContent.setLayout(new javax.swing.BoxLayout(chatContent, javax.swing.BoxLayout.PAGE_AXIS));
setJMenuBar(jMenuBar1); setJMenuBar(jMenuBar1);


pack(); pack();
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents }// </editor-fold>//GEN-END:initComponents


/** /**
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnClear; private javax.swing.JButton btnClear;
private javax.swing.JButton btnSend; private javax.swing.JButton btnSend;
private javax.swing.JButton btnServer;
private javax.swing.JLayeredPane chatContent; private javax.swing.JLayeredPane chatContent;
private javax.swing.JLayeredPane chatControll; private javax.swing.JLayeredPane chatControll;
private javax.swing.JDialog jDialogServerClient;
private javax.swing.JButton jButton1;
private javax.swing.JMenu jMenu2; private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu3; private javax.swing.JMenu jMenu3;
private javax.swing.JMenuBar jMenuBar1; private javax.swing.JMenuBar jMenuBar1;

Loading…
Cancel
Save