From c50b9c4aff7e9ffabddf9f3854def4f8b0516e76 Mon Sep 17 00:00:00 2001 From: eichehome Date: Tue, 11 May 2021 13:59:08 +0200 Subject: [PATCH] Initzialer Commit mit dem aktuellen Stand --- build.xml | 73 + manifest.mf | 3 + nbproject/build-impl.xml | 1771 +++++++++++++++++ nbproject/genfiles.properties | 8 + nbproject/project.properties | 95 + nbproject/project.xml | 15 + src/client/MainClient.java | 73 + src/client/MainClient1.java | 67 + .../ClientMessageDistributorThread.java | 47 + src/server/FifoPipe.java | 25 + src/server/MainServer.java | 38 + src/server/PipeElement.java | 19 + src/server/ServerHandelClientsThread.java | 30 + src/server/temp | 27 + 14 files changed, 2291 insertions(+) create mode 100644 build.xml create mode 100644 manifest.mf create mode 100644 nbproject/build-impl.xml create mode 100644 nbproject/genfiles.properties create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 src/client/MainClient.java create mode 100644 src/client/MainClient1.java create mode 100644 src/server/ClientMessageDistributorThread.java create mode 100644 src/server/FifoPipe.java create mode 100644 src/server/MainServer.java create mode 100644 src/server/PipeElement.java create mode 100644 src/server/ServerHandelClientsThread.java create mode 100644 src/server/temp diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..5213a28 --- /dev/null +++ b/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project ChatApplication. + + + diff --git a/manifest.mf b/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml new file mode 100644 index 0000000..fce5dd4 --- /dev/null +++ b/nbproject/build-impl.xml @@ -0,0 +1,1771 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties new file mode 100644 index 0000000..d239229 --- /dev/null +++ b/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=aa54c487 +build.xml.script.CRC32=fa8e3906 +build.xml.stylesheet.CRC32=f85dc8f2@1.97.0.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=aa54c487 +nbproject/build-impl.xml.script.CRC32=b6dc6de5 +nbproject/build-impl.xml.stylesheet.CRC32=d549e5cc@1.97.0.48 diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..d61b665 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,95 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.modulepath=\ + ${run.modulepath} +debug.test.classpath=\ + ${run.test.classpath} +debug.test.modulepath=\ + ${run.test.modulepath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/ChatApplication.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/ChatApplication +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.modulepath= +javac.processormodulepath= +javac.processorpath=\ + ${javac.classpath} +javac.source=11 +javac.target=11 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.modulepath=\ + ${javac.modulepath} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.html5=false +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +# The jlink additional root modules to resolve +jlink.additionalmodules= +# The jlink additional command line parameters +jlink.additionalparam= +jlink.launcher=true +jlink.launcher.name=ChatApplication +main.class=server.MainServer +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.modulepath=\ + ${javac.modulepath} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +run.test.modulepath=\ + ${javac.test.modulepath} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..e7baa5f --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + ChatApplication + + + + + + + + + diff --git a/src/client/MainClient.java b/src/client/MainClient.java new file mode 100644 index 0000000..049dc7d --- /dev/null +++ b/src/client/MainClient.java @@ -0,0 +1,73 @@ +/* + * 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 client; + +import java.io.*; +import java.net.*; + +/** + * Hauptklasse des Clients + * @version 0.0.1 + * @author eichehome + */ +public class MainClient { + + static Socket server = null; + static PrintWriter pr = null; + static BufferedReader bf = null; + static InputStreamReader in = null; + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + try { + server = new Socket("localhost", 1236); + + pr = new PrintWriter(server.getOutputStream()); + pr.println("is it working?"); + pr.flush(); + + in = new InputStreamReader(server.getInputStream()); + bf = new BufferedReader(in); + String str = bf.readLine(); + System.out.println("server: " + str); + try { + System.out.println("Sleepin for 5 seconds"); + Thread.sleep(10000); + } catch (InterruptedException e) { + System.out.println("Thread is interrupted"); + } + } catch (IOException e) { + System.err.println("Fehler: " + e); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + System.err.println("Fehler: " + e); + } + } + if (bf != null) { + try { + bf.close(); + } catch (IOException e) { + System.err.println("Fehler: " + e); + } + } + if (pr != null) { + pr.close(); + } + if (server != null) { + try { + server.close(); + } catch (IOException e) { + System.err.println("Fehler: " + e); + } + } + } + } +} diff --git a/src/client/MainClient1.java b/src/client/MainClient1.java new file mode 100644 index 0000000..f7df1e1 --- /dev/null +++ b/src/client/MainClient1.java @@ -0,0 +1,67 @@ +/* + * 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 client; + +import java.io.*; +import java.net.*; + +/** + * Hauptklasse des Clients + * @version 0.0.1 + * @author eichehome + */ +public class MainClient1 { + + static Socket server = null; + static PrintWriter pr = null; + static BufferedReader bf = null; + static InputStreamReader in = null; + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + try { + server = new Socket("localhost", 1236); + + pr = new PrintWriter(server.getOutputStream()); + pr.println("is it working?"); + pr.flush(); + + in = new InputStreamReader(server.getInputStream()); + bf = new BufferedReader(in); + String str = bf.readLine(); + System.out.println("server: " + str); + } catch (IOException e) { + System.err.println("Fehler: " + e); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + System.err.println("Fehler: " + e); + } + } + if (bf != null) { + try { + bf.close(); + } catch (IOException e) { + System.err.println("Fehler: " + e); + } + } + if (pr != null) { + pr.close(); + } + if (server != null) { + try { + server.close(); + } catch (IOException e) { + System.err.println("Fehler: " + e); + } + } + } + } +} diff --git a/src/server/ClientMessageDistributorThread.java b/src/server/ClientMessageDistributorThread.java new file mode 100644 index 0000000..4d2bacc --- /dev/null +++ b/src/server/ClientMessageDistributorThread.java @@ -0,0 +1,47 @@ +/* + * 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 server; + +import java.net.Socket; + +/** + * + * @author eichehome + */ +public class ClientMessageDistributorThread implements Runnable { + + /** + * Verzeichniss der Threads, die die Clients überwachen + */ + private Socket[] clientThreads = null; + /** + * Puffer der Nachrichten + */ + private Object[] messages = null; + + public void run() { + + } + + public void ClientMessageDistributorThread(Socket s) { + + } + + public void pushMessage(Object message) { + Object[] temp = new Object[messages.length + 1]; + temp[temp.length -1] = message; + messages = temp; + } + + public Object popMessage() { + Object[] temp = new Object[messages.length - 1]; + Object message = messages[0]; + for (int i = 1; i < messages.length; i++) { + temp[i - 1] = messages[i]; + } + messages = temp; + } +} diff --git a/src/server/FifoPipe.java b/src/server/FifoPipe.java new file mode 100644 index 0000000..abce64e --- /dev/null +++ b/src/server/FifoPipe.java @@ -0,0 +1,25 @@ +/* + * 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 server; + +/** + * + * @author eichehome + */ +public class FifoPipe { + + private PipeElement firstElement; + private PipeElement lastElement; + + public FifoPipe() { + + } + + public queuElement(Object element) { + + } + +} diff --git a/src/server/MainServer.java b/src/server/MainServer.java new file mode 100644 index 0000000..43297f9 --- /dev/null +++ b/src/server/MainServer.java @@ -0,0 +1,38 @@ +/* + * 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 server; + +import java.io.*; +import java.net.*; +import java.util.concurrent.ExecutionException; + +/** + * Hauptklasse des Servers + * + * @version 0.0.1 + * @author eichehome + */ +public class MainServer { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + try { + ServerSocket serverSocket = new ServerSocket(1236); + ClientMessageDistributorThread messageDistributor = new ClientMessageDistributorThread(); + for (int i = 0; i < 3; i++) { + Socket client = serverSocket.accept(); + System.out.println("client connected"); + new ServerHandelClientsThread(client, messageDistributor).start(); + + } + } catch (Exception e) { + System.err.println("Fehler: " + e); + } + } + +} diff --git a/src/server/PipeElement.java b/src/server/PipeElement.java new file mode 100644 index 0000000..3d7010e --- /dev/null +++ b/src/server/PipeElement.java @@ -0,0 +1,19 @@ +/* + * 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 server; + +/** + * + * @author eichehome + */ +public class PipeElement { + + private PipeElement naechster; + private Object data; + + public void setNextElement(Obj) + +} diff --git a/src/server/ServerHandelClientsThread.java b/src/server/ServerHandelClientsThread.java new file mode 100644 index 0000000..76e5f6f --- /dev/null +++ b/src/server/ServerHandelClientsThread.java @@ -0,0 +1,30 @@ +/* + * 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 server; + +import java.io.*; +import java.net.*; + +/** + * + * @author eichehome + */ +public class ServerHandelClientsThread extends Thread { + + private Socket clientSocket = null; + private ClientMessageDistributorThread messageDistributor = null; + + public void run() { + PrintWriter pr = new PrintWriter(clientSocket.getOutputStream(), true); + InputStreamReader in = new InputStreamReader(clientSocket.getInputStream()); + BufferedReader bf = new BufferedReader(in); + } + + public ServerHandelClientsThread(Socket socket, ClientMessageDistributorThread distributor) { + clientSocket = socket; + messageDistributor = distributor; + } +} diff --git a/src/server/temp b/src/server/temp new file mode 100644 index 0000000..d863cee --- /dev/null +++ b/src/server/temp @@ -0,0 +1,27 @@ +https://sql-island.informatik.uni-kl.de + +SELECT * FROM BEWOHNER +SELECT * FROM bewohner WHERE beruf = 'Metzger' +SELECT * FROM BEWOHNER WHERE status='friedlich' +SELECT * FROM BEWOHNER WHERE status='friedlich' AND beruf='Waffenschmied' +SELECT * FROM BEWOHNER WHERE status='friedlich' AND beruf LIKE '%schmied' +SELECT bewohnernr FROM BEWOHNER WHERE name='Fremder' +SELECT gold FROM BEWOHNER WHERE name='Fremder' +SELECT * FROM GEGENSTAND WHERE besitzer IS NULL +#UPDATE gegenstand SET besitzer = 20 WHERE gegenstand = 'Kaffeetasse' +UPDATE gegenstand SET besitzer = 20 WHERE besitzer IS NULL +SELECT * FROM GEGENSTAND WHERE besitzer = 20 +SELECT * FROM BEWOHNER WHERE (beruf = 'Haendler' OR beruf = 'Kaufmann' ) AND status = 'friedlich' +UPDATE gegenstand SET besitzer = 15 WHERE besitzer = 20 AND (gegenstand = 'Ring' OR gegenstand = 'Teekanne') +UPDATE BEWOHNER SET name = 'Eiche Home' WHERE bewohnernr = 20 +SELECT * FROM bewohner WHERE beruf = 'Baecker' ORDER BY gold desc +SELECT * FROM bewohner WHERE beruf = 'Pilot' +SELECT dorf.name FROM dorf, bewohner WHERE dorf.dorfnr = bewohner.dorfnr AND bewohner.name = 'Dirty Dieter' +SELECT bewohner.name FROM dorf,bewohner WHERE dorf.name = 'Zwiebelhausen' AND bewohner.bewohnernr = dorf.haeuptling +#SELECT COUNT(*) FROM bewohner, dorf WHERE dorf.dorfnr = bewohner.dorfnr AND dorf.name = 'Zwiebelhausen' +SELECT COUNT(*) FROM dorf,bewohner WHERE dorf.name = 'Zwiebelhausen' AND bewohner.dorfnr = dorf.dorfnr AND geschlecht = 'w' +SELECT bewohner.name FROM dorf,bewohner WHERE dorf.name = 'Zwiebelhausen' AND bewohner.dorfnr = dorf.dorfnr AND geschlecht = 'w' +#SELECT SUM(bewohner.gold) FROM bewohner, dorf WHERE dorf.dorfnr = bewohner.dorfnr AND dorf.name = 'Gurkendorf' +SELECT SUM(gold) FROM bewohner WHERE beruf = 'Baecker' OR beruf = 'Haendler' OR beruf = 'Kaufmann' +#SELECT beruf, SUM(bewohner.gold), AVG(bewohner.gold) FROM bewohner GROUP BY beruf ORDER BY AVG(bewohner.gold) +SELECT status, AVG(gold) FROM bewohner GROUP BY status ORDER BY AVG(gold)