From 1f849199789d06bc174b07997144948f02ec5c10 Mon Sep 17 00:00:00 2001 From: mirimatcode Date: Wed, 1 Feb 2023 16:58:14 +0100 Subject: [PATCH] Inserimento primi esempi --- ClientAccademico/build.xml | 107 + ClientAccademico/build/built-jar.properties | 4 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../clientaccademico/ClientAccademico.class | Bin 0 -> 1503 bytes ClientAccademico/dist/ClientAccademico.jar | Bin 0 -> 3260 bytes ...-modules-java-j2seproject-copylibstask.jar | Bin 0 -> 111129 bytes ClientAccademico/lib/USocket.jar | Bin 0 -> 3973 bytes ClientAccademico/lib/nblibraries.properties | 4 + ClientAccademico/manifest.mf | 3 + ClientAccademico/nbproject/build-impl.xml | 1796 +++++++++++++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 9 + ClientAccademico/nbproject/project.properties | 97 + ClientAccademico/nbproject/project.xml | 18 + .../clientaccademico/ClientAccademico.java | 26 + ClientPersistente/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../clientpersistente/ClientPersistente.class | Bin 0 -> 2719 bytes ...-modules-java-j2seproject-copylibstask.jar | Bin 0 -> 111129 bytes ClientPersistente/lib/USocket.jar | Bin 0 -> 3973 bytes ClientPersistente/lib/nblibraries.properties | 4 + ClientPersistente/manifest.mf | 3 + ClientPersistente/nbproject/build-impl.xml | 1796 +++++++++++++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/project.properties | 95 + ClientPersistente/nbproject/project.xml | 18 + .../clientpersistente/ClientPersistente.java | 46 + ServerAccademico/build.xml | 107 + ServerAccademico/build/built-jar.properties | 4 + .../serveraccademico/ServerAccademico.class | Bin 0 -> 1485 bytes ServerAccademico/dist/ServerAccademico.jar | Bin 0 -> 3257 bytes ...-modules-java-j2seproject-copylibstask.jar | Bin 0 -> 111129 bytes ServerAccademico/lib/USocket.jar | Bin 0 -> 3958 bytes ServerAccademico/lib/nblibraries.properties | 4 + ServerAccademico/manifest.mf | 3 + ServerAccademico/nbproject/build-impl.xml | 1796 +++++++++++++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + ServerAccademico/nbproject/project.properties | 97 + ServerAccademico/nbproject/project.xml | 18 + .../serveraccademico/ServerAccademico.java | 21 + ServerPersistente/build.xml | 73 + ServerPersistente/build/built-jar.properties | 4 + .../serverpersistente/ServerPersistente.class | Bin 0 -> 3061 bytes ServerPersistente/dist/README.TXT | 32 + ServerPersistente/dist/ServerPersistente.jar | Bin 0 -> 3810 bytes ...-modules-java-j2seproject-copylibstask.jar | Bin 0 -> 111129 bytes ServerPersistente/lib/nblibraries.properties | 4 + ServerPersistente/manifest.mf | 3 + ServerPersistente/nbproject/build-impl.xml | 1796 +++++++++++++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/project.properties | 95 + ServerPersistente/nbproject/project.xml | 18 + .../serverpersistente/ServerPersistente.java | 50 + USocket/.gitignore | 1 + USocket/build.xml | 73 + USocket/dist/README.TXT | 32 + USocket/dist/USocket.jar | Bin 0 -> 3973 bytes USocket/manifest.mf | 3 + USocket/nbproject/build-impl.xml | 1771 ++++++++++++++++ USocket/nbproject/genfiles.properties | 8 + USocket/nbproject/private/private.properties | 2 + USocket/nbproject/private/private.xml | 9 + USocket/nbproject/project.properties | 95 + USocket/nbproject/project.xml | 15 + USocket/src/com/mirimatcode/USocket.java | 112 + 71 files changed, 10385 insertions(+) create mode 100644 ClientAccademico/build.xml create mode 100644 ClientAccademico/build/built-jar.properties create mode 100644 ClientAccademico/build/classes/.netbeans_automatic_build create mode 100644 ClientAccademico/build/classes/.netbeans_update_resources create mode 100644 ClientAccademico/build/classes/clientaccademico/ClientAccademico.class create mode 100644 ClientAccademico/dist/ClientAccademico.jar create mode 100644 ClientAccademico/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar create mode 100644 ClientAccademico/lib/USocket.jar create mode 100644 ClientAccademico/lib/nblibraries.properties create mode 100644 ClientAccademico/manifest.mf create mode 100644 ClientAccademico/nbproject/build-impl.xml create mode 100644 ClientAccademico/nbproject/genfiles.properties create mode 100644 ClientAccademico/nbproject/private/private.properties create mode 100644 ClientAccademico/nbproject/private/private.xml create mode 100644 ClientAccademico/nbproject/project.properties create mode 100644 ClientAccademico/nbproject/project.xml create mode 100644 ClientAccademico/src/clientaccademico/ClientAccademico.java create mode 100644 ClientPersistente/build.xml create mode 100644 ClientPersistente/build/classes/.netbeans_automatic_build create mode 100644 ClientPersistente/build/classes/.netbeans_update_resources create mode 100644 ClientPersistente/build/classes/clientpersistente/ClientPersistente.class create mode 100644 ClientPersistente/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar create mode 100644 ClientPersistente/lib/USocket.jar create mode 100644 ClientPersistente/lib/nblibraries.properties create mode 100644 ClientPersistente/manifest.mf create mode 100644 ClientPersistente/nbproject/build-impl.xml create mode 100644 ClientPersistente/nbproject/genfiles.properties create mode 100644 ClientPersistente/nbproject/private/private.properties create mode 100644 ClientPersistente/nbproject/project.properties create mode 100644 ClientPersistente/nbproject/project.xml create mode 100644 ClientPersistente/src/clientpersistente/ClientPersistente.java create mode 100644 ServerAccademico/build.xml create mode 100644 ServerAccademico/build/built-jar.properties create mode 100644 ServerAccademico/build/classes/serveraccademico/ServerAccademico.class create mode 100644 ServerAccademico/dist/ServerAccademico.jar create mode 100644 ServerAccademico/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar create mode 100644 ServerAccademico/lib/USocket.jar create mode 100644 ServerAccademico/lib/nblibraries.properties create mode 100644 ServerAccademico/manifest.mf create mode 100644 ServerAccademico/nbproject/build-impl.xml create mode 100644 ServerAccademico/nbproject/genfiles.properties create mode 100644 ServerAccademico/nbproject/private/private.properties create mode 100644 ServerAccademico/nbproject/project.properties create mode 100644 ServerAccademico/nbproject/project.xml create mode 100644 ServerAccademico/src/serveraccademico/ServerAccademico.java create mode 100644 ServerPersistente/build.xml create mode 100644 ServerPersistente/build/built-jar.properties create mode 100644 ServerPersistente/build/classes/serverpersistente/ServerPersistente.class create mode 100644 ServerPersistente/dist/README.TXT create mode 100644 ServerPersistente/dist/ServerPersistente.jar create mode 100644 ServerPersistente/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar create mode 100644 ServerPersistente/lib/nblibraries.properties create mode 100644 ServerPersistente/manifest.mf create mode 100644 ServerPersistente/nbproject/build-impl.xml create mode 100644 ServerPersistente/nbproject/genfiles.properties create mode 100644 ServerPersistente/nbproject/private/private.properties create mode 100644 ServerPersistente/nbproject/project.properties create mode 100644 ServerPersistente/nbproject/project.xml create mode 100644 ServerPersistente/src/serverpersistente/ServerPersistente.java create mode 100644 USocket/.gitignore create mode 100644 USocket/build.xml create mode 100644 USocket/dist/README.TXT create mode 100644 USocket/dist/USocket.jar create mode 100644 USocket/manifest.mf create mode 100644 USocket/nbproject/build-impl.xml create mode 100644 USocket/nbproject/genfiles.properties create mode 100644 USocket/nbproject/private/private.properties create mode 100644 USocket/nbproject/private/private.xml create mode 100644 USocket/nbproject/project.properties create mode 100644 USocket/nbproject/project.xml create mode 100644 USocket/src/com/mirimatcode/USocket.java diff --git a/ClientAccademico/build.xml b/ClientAccademico/build.xml new file mode 100644 index 0000000..83965a8 --- /dev/null +++ b/ClientAccademico/build.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + Builds, tests, and runs the project ClientAccademico. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ClientAccademico/build/built-jar.properties b/ClientAccademico/build/built-jar.properties new file mode 100644 index 0000000..dd3cce3 --- /dev/null +++ b/ClientAccademico/build/built-jar.properties @@ -0,0 +1,4 @@ +#Wed, 01 Feb 2023 15:55:04 +0100 + + +/home/boss/Progetti/ClientAccademico= diff --git a/ClientAccademico/build/classes/.netbeans_automatic_build b/ClientAccademico/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/ClientAccademico/build/classes/.netbeans_update_resources b/ClientAccademico/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/ClientAccademico/build/classes/clientaccademico/ClientAccademico.class b/ClientAccademico/build/classes/clientaccademico/ClientAccademico.class new file mode 100644 index 0000000000000000000000000000000000000000..2ed6ac02c0b0f0b77444fd7f2dd183dafc4dca84 GIT binary patch literal 1503 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/ClientAccademico/nbproject/genfiles.properties b/ClientAccademico/nbproject/genfiles.properties new file mode 100644 index 0000000..4dd20b1 --- /dev/null +++ b/ClientAccademico/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=d2250e77 +build.xml.script.CRC32=20a369f1 +build.xml.stylesheet.CRC32=f85dc8f2@1.105.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=d2250e77 +nbproject/build-impl.xml.script.CRC32=a55c77d5 +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.105.0.48 diff --git a/ClientAccademico/nbproject/private/private.properties b/ClientAccademico/nbproject/private/private.properties new file mode 100644 index 0000000..ea67f5f --- /dev/null +++ b/ClientAccademico/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=/home/boss/.netbeans/16/build.properties diff --git a/ClientAccademico/nbproject/private/private.xml b/ClientAccademico/nbproject/private/private.xml new file mode 100644 index 0000000..0e97f21 --- /dev/null +++ b/ClientAccademico/nbproject/private/private.xml @@ -0,0 +1,9 @@ + + + + + + file:/home/boss/Progetti/TestClientSocket/src/testclientsocket/TestClientSocket.java + + + diff --git a/ClientAccademico/nbproject/project.properties b/ClientAccademico/nbproject/project.properties new file mode 100644 index 0000000..174192c --- /dev/null +++ b/ClientAccademico/nbproject/project.properties @@ -0,0 +1,97 @@ +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}/ClientAccademico.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/ClientAccademico +excludes= +file.reference.USocket.jar=lib/USocket.jar +includes=** +jar.compress=false +javac.classpath=\ + ${file.reference.USocket.jar} +# 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=17 +javac.target=17 +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=ClientAccademico +main.class=clientaccademico.ClientAccademico +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/ClientAccademico/nbproject/project.xml b/ClientAccademico/nbproject/project.xml new file mode 100644 index 0000000..48f36cf --- /dev/null +++ b/ClientAccademico/nbproject/project.xml @@ -0,0 +1,18 @@ + + + org.netbeans.modules.java.j2seproject + + + ClientAccademico + + + + + + + + + ./lib/nblibraries.properties + + + diff --git a/ClientAccademico/src/clientaccademico/ClientAccademico.java b/ClientAccademico/src/clientaccademico/ClientAccademico.java new file mode 100644 index 0000000..8b46631 --- /dev/null +++ b/ClientAccademico/src/clientaccademico/ClientAccademico.java @@ -0,0 +1,26 @@ +package clientaccademico; + +import com.mirimatcode.USocket; +import java.io.IOException; + +/** + * + * @author boss + */ +public class ClientAccademico { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + //String ip = "server.mirimatcode.eu"; + String ip = "192.168.2.187"; + try { + //USocket.writeString(ip, 5000, "Ciao mbarissimo"); + String stringa = USocket.writeAndListenString(ip, 5000, "Ciao mbare"); + System.out.println(stringa); + } catch (IOException ex) { + System.out.println("Problemi: " + ex.getMessage()); + } + } +} diff --git a/ClientPersistente/build.xml b/ClientPersistente/build.xml new file mode 100644 index 0000000..94d6316 --- /dev/null +++ b/ClientPersistente/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project ClientPersistente. + + + diff --git a/ClientPersistente/build/classes/.netbeans_automatic_build b/ClientPersistente/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/ClientPersistente/build/classes/.netbeans_update_resources b/ClientPersistente/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/ClientPersistente/build/classes/clientpersistente/ClientPersistente.class b/ClientPersistente/build/classes/clientpersistente/ClientPersistente.class new file mode 100644 index 0000000000000000000000000000000000000000..dba359cf44d652f756ec54cf211add0327050c8f GIT binary patch literal 2719 zcma)8+fNi%82=sE-C5QVWKm!&iWjtt7qC~`U9Bxtbj!6aplENy?g2)2XV%$S)ZXv) zrR__Twy*624^1C5DI}8A^u-v{nDh^5TA!QfLmwLZQ2IMN;4VU%5}0$&cfQN-eBbXo zhnxRg{Sm-nT#BFy)fxgif(Qw0IBU+BomtbK>>M0FE7P7p=#XVw-ZKK#vG&n0!UCHL z(w&iRN6vDsoav>VjO>s_4H1F5lD#dx&Xkj$mRbF zPN1Q*V>z8e6niIK%ag9Mt=ADn1N}})Z?Nd)iyjT7nGo|!}{9_Sc{G=*eXynJay>k!~p>HJXbWc480;1em5lA zPpc9ob-bXuC78}S1*xHLIczBp!&9zv-W<=$2zoJ~V-Q0E>&;9iRm|sISt!U%nF1>< zSYlO{q+(c7!?3`X5(`yBjo8z+bKXAg6uhGs(lYN^jvYY?qdHEix@gy zJITB>tZ_~PoMJ%-%p4;`@{a5IX=cbINt5!-^mM2cG}WM!eP&vB-U`NZmiR7h4B4qwd6HPkCJw%mcMU38n- zY>F>NB8>NV!})xOZxbwS(zd1Boi*8X1q~mPoU4ww7IF8Z zDv-7a@%u7Yog4+n;GTJi%cbpC_*L6L1h4X|`wDmsCRa5WN19G(Ty=wvYAE|Vs`b@3 zTspjfnz6kt^H?{qfZDPBbJ!4=$HsVI0Zn5IFqGt>d9==BM?APJyMkRyqL2}Y?w!Ma zBRGdg#^Ty_9Jqof4DBkO2Ig?s2vHsn8{zAVzZn4|tW?9%XXnuM_2R8rR4cpVvoPYJ zrI{YrjF6$tq2CByGXisXQSAnoX1dZ-KKqT}H6lAPi{^O1pXf?UdFeL-*JjZ&Kp@;1 zA&OblF0D>;bs1s4I3M9tUZbDm3w+7372o1Jj^E=7e&AS-pKycYP29pS95wuk-+3vj z@eWR*8Y<&1TKKKwY6Eu~Xtj}^HX(*aMrh_!(1Lz!rG6_U%bCRvoWo9BKpWo2E@Frg zMU=5)j2>mo7^6lRV;`f%aGTHZADrL89^A!V+{6A-b@Nz9-$#(4*APZ<027!bf-L_R znBq*GFHc*^TDRgGzL^#RME5h!Vwz}glO)FJ+CMlAADs vl^W&kE)A)E4W}ZQA*P@pXa)H^zg0}^MUG)Yf1Q8tGRdkT1U_J@KY{Tt#QVD- literal 0 HcmV?d00001 diff --git a/ClientPersistente/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar b/ClientPersistente/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar new file mode 100644 index 0000000000000000000000000000000000000000..3683de5a93f4d31ea45eab7c9ac96bb564cdb323 GIT binary patch literal 111129 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/ClientPersistente/nbproject/genfiles.properties b/ClientPersistente/nbproject/genfiles.properties new file mode 100644 index 0000000..241780c --- /dev/null +++ b/ClientPersistente/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=0a4857a7 +build.xml.script.CRC32=753a5039 +build.xml.stylesheet.CRC32=f85dc8f2@1.105.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=0a4857a7 +nbproject/build-impl.xml.script.CRC32=63186a5c +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.105.0.48 diff --git a/ClientPersistente/nbproject/private/private.properties b/ClientPersistente/nbproject/private/private.properties new file mode 100644 index 0000000..ea67f5f --- /dev/null +++ b/ClientPersistente/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=/home/boss/.netbeans/16/build.properties diff --git a/ClientPersistente/nbproject/project.properties b/ClientPersistente/nbproject/project.properties new file mode 100644 index 0000000..274cc6f --- /dev/null +++ b/ClientPersistente/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}/ClientPersistente.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/ClientPersistente +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=17 +javac.target=17 +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=ClientPersistente +main.class=clientpersistente.ClientPersistente +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/ClientPersistente/nbproject/project.xml b/ClientPersistente/nbproject/project.xml new file mode 100644 index 0000000..d49e9d4 --- /dev/null +++ b/ClientPersistente/nbproject/project.xml @@ -0,0 +1,18 @@ + + + org.netbeans.modules.java.j2seproject + + + ClientPersistente + + + + + + + + + ./lib/nblibraries.properties + + + diff --git a/ClientPersistente/src/clientpersistente/ClientPersistente.java b/ClientPersistente/src/clientpersistente/ClientPersistente.java new file mode 100644 index 0000000..a717a1b --- /dev/null +++ b/ClientPersistente/src/clientpersistente/ClientPersistente.java @@ -0,0 +1,46 @@ +package clientpersistente; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.Socket; +import java.net.UnknownHostException; + +public class ClientPersistente { + + public static void main(String[] args) { + + //String hostName = "192.168.2.187"; + String hostName = "server.mirimatcode.eu"; + int portNumber = 5000; + + try ( + Socket clientSocket = new Socket(hostName, portNumber); + PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); + BufferedReader in = new BufferedReader( + new InputStreamReader(clientSocket.getInputStream())); + ) { + BufferedReader stdIn = + new BufferedReader(new InputStreamReader(System.in)); + String fromServer; + String fromUser; + out.println("conncheck"); + + while ((fromServer = in.readLine()) != null) { + System.out.println("Server: " + fromServer); + + fromUser = stdIn.readLine(); + if (fromUser != null) { + out.println(fromUser); + if (fromUser.equals("ciao!")) + break; + } + } + } catch (UnknownHostException e) { + System.out.println(e.getMessage()); + } catch (IOException e) { + System.out.println(e.getMessage()); + } + } +} diff --git a/ServerAccademico/build.xml b/ServerAccademico/build.xml new file mode 100644 index 0000000..6d5b519 --- /dev/null +++ b/ServerAccademico/build.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + Builds, tests, and runs the project ServerAccademico. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ServerAccademico/build/built-jar.properties b/ServerAccademico/build/built-jar.properties new file mode 100644 index 0000000..1f370c5 --- /dev/null +++ b/ServerAccademico/build/built-jar.properties @@ -0,0 +1,4 @@ +#Wed, 01 Feb 2023 15:45:34 +0100 + + +/home/boss/Progetti/ServerAccademico= diff --git a/ServerAccademico/build/classes/serveraccademico/ServerAccademico.class b/ServerAccademico/build/classes/serveraccademico/ServerAccademico.class new file mode 100644 index 0000000000000000000000000000000000000000..ade7d959e323074e5ba6e628f8cae20e7c8dfd96 GIT binary patch literal 1485 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 literal 0 HcmV?d00001 diff --git a/ServerAccademico/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar b/ServerAccademico/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar new file mode 100644 index 0000000000000000000000000000000000000000..3683de5a93f4d31ea45eab7c9ac96bb564cdb323 GIT binary patch literal 111129 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 Ulr7)sl2y(k@pjXQ^~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/ServerAccademico/nbproject/genfiles.properties b/ServerAccademico/nbproject/genfiles.properties new file mode 100644 index 0000000..93001b8 --- /dev/null +++ b/ServerAccademico/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=0ee08b86 +build.xml.script.CRC32=e472c491 +build.xml.stylesheet.CRC32=f85dc8f2@1.105.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=0ee08b86 +nbproject/build-impl.xml.script.CRC32=4bb9cc31 +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.105.0.48 diff --git a/ServerAccademico/nbproject/private/private.properties b/ServerAccademico/nbproject/private/private.properties new file mode 100644 index 0000000..ea67f5f --- /dev/null +++ b/ServerAccademico/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=/home/boss/.netbeans/16/build.properties diff --git a/ServerAccademico/nbproject/project.properties b/ServerAccademico/nbproject/project.properties new file mode 100644 index 0000000..12440bd --- /dev/null +++ b/ServerAccademico/nbproject/project.properties @@ -0,0 +1,97 @@ +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}/ServerAccademico.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/ServerAccademico +excludes= +file.reference.USocket.jar=lib/USocket.jar +includes=** +jar.compress=false +javac.classpath=\ + ${file.reference.USocket.jar} +# 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=17 +javac.target=17 +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=ServerAccademico +main.class=serveraccademico.ServerAccademico +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/ServerAccademico/nbproject/project.xml b/ServerAccademico/nbproject/project.xml new file mode 100644 index 0000000..1207c32 --- /dev/null +++ b/ServerAccademico/nbproject/project.xml @@ -0,0 +1,18 @@ + + + org.netbeans.modules.java.j2seproject + + + ServerAccademico + + + + + + + + + ./lib/nblibraries.properties + + + diff --git a/ServerAccademico/src/serveraccademico/ServerAccademico.java b/ServerAccademico/src/serveraccademico/ServerAccademico.java new file mode 100644 index 0000000..02df15a --- /dev/null +++ b/ServerAccademico/src/serveraccademico/ServerAccademico.java @@ -0,0 +1,21 @@ +package serveraccademico; + +import com.mirimatcode.USocket; +import java.io.IOException; + +public class ServerAccademico { + + public static void main(String[] args) { + + while(true) { + String messaggio = ""; + try { + //messaggio = USocket.listenString(5000); + messaggio = USocket.listenAndReplyString(5000, "Ciao amico, ho ricevuto il tuo messaggio e ti saluto da Milano"); + System.out.println(messaggio); + } catch (IOException ex) { + System.out.println("Problemi: " + ex.getMessage()); + } + } + } +} diff --git a/ServerPersistente/build.xml b/ServerPersistente/build.xml new file mode 100644 index 0000000..2f3afa6 --- /dev/null +++ b/ServerPersistente/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project ServerPersistente. + + + diff --git a/ServerPersistente/build/built-jar.properties b/ServerPersistente/build/built-jar.properties new file mode 100644 index 0000000..222ca72 --- /dev/null +++ b/ServerPersistente/build/built-jar.properties @@ -0,0 +1,4 @@ +#Wed, 01 Feb 2023 16:50:34 +0100 + + +/home/boss/Progetti/ServerPersistente= diff --git a/ServerPersistente/build/classes/serverpersistente/ServerPersistente.class b/ServerPersistente/build/classes/serverpersistente/ServerPersistente.class new file mode 100644 index 0000000000000000000000000000000000000000..973fb537598e42b26945f0a42690015762c9b621 GIT binary patch literal 3061 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/ServerPersistente/nbproject/genfiles.properties b/ServerPersistente/nbproject/genfiles.properties new file mode 100644 index 0000000..2f40da0 --- /dev/null +++ b/ServerPersistente/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=c02e50a8 +build.xml.script.CRC32=104d1839 +build.xml.stylesheet.CRC32=f85dc8f2@1.105.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=c02e50a8 +nbproject/build-impl.xml.script.CRC32=c19a6bf3 +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.105.0.48 diff --git a/ServerPersistente/nbproject/private/private.properties b/ServerPersistente/nbproject/private/private.properties new file mode 100644 index 0000000..ea67f5f --- /dev/null +++ b/ServerPersistente/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=/home/boss/.netbeans/16/build.properties diff --git a/ServerPersistente/nbproject/project.properties b/ServerPersistente/nbproject/project.properties new file mode 100644 index 0000000..fa69769 --- /dev/null +++ b/ServerPersistente/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}/ServerPersistente.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/ServerPersistente +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=17 +javac.target=17 +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=ServerPersistente +main.class=serverpersistente.ServerPersistente +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/ServerPersistente/nbproject/project.xml b/ServerPersistente/nbproject/project.xml new file mode 100644 index 0000000..6055ddd --- /dev/null +++ b/ServerPersistente/nbproject/project.xml @@ -0,0 +1,18 @@ + + + org.netbeans.modules.java.j2seproject + + + ServerPersistente + + + + + + + + + ./lib/nblibraries.properties + + + diff --git a/ServerPersistente/src/serverpersistente/ServerPersistente.java b/ServerPersistente/src/serverpersistente/ServerPersistente.java new file mode 100644 index 0000000..e2a302b --- /dev/null +++ b/ServerPersistente/src/serverpersistente/ServerPersistente.java @@ -0,0 +1,50 @@ +package serverpersistente; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.ServerSocket; +import java.net.Socket; + +public class ServerPersistente { + + public static void main(String[] args) { + + int portNumber = 5000; + + while(true) { + System.out.println("Avvio istanza server"); + try ( + ServerSocket serverSocket = new ServerSocket(portNumber, 100); + Socket clientSocket = serverSocket.accept(); + PrintWriter out = + new PrintWriter(clientSocket.getOutputStream(), true); + BufferedReader in = new BufferedReader( + new InputStreamReader(clientSocket.getInputStream())); + ) { + + String inputLine, outputLine; + + while ((inputLine = in.readLine()) != null) { + if(inputLine.compareTo("conncheck") == 0) { + System.out.println("Connessione in ingresso da: " + clientSocket.getInetAddress().getHostAddress()); + outputLine = "Connessione stabilita"; + } else { + System.out.println("Ricevuto: " + inputLine); + outputLine = "Ciao, mi hai appena scritto: " + inputLine; + } + + out.println(outputLine); + if (inputLine.equals("ciao!")) + { + System.out.println("Ricevuto codice di uscita bye bye"); + break; + } + } + } catch (IOException e) { + System.out.println(e.getMessage()); + } + } + } +} diff --git a/USocket/.gitignore b/USocket/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/USocket/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/USocket/build.xml b/USocket/build.xml new file mode 100644 index 0000000..abff3fe --- /dev/null +++ b/USocket/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project USocket. + + + diff --git a/USocket/dist/README.TXT b/USocket/dist/README.TXT new file mode 100644 index 0000000..934107e --- /dev/null +++ b/USocket/dist/README.TXT @@ -0,0 +1,32 @@ +======================== +BUILD OUTPUT DESCRIPTION +======================== + +When you build an Java application project that has a main class, the IDE +automatically copies all of the JAR +files on the projects classpath to your projects dist/lib folder. The IDE +also adds each of the JAR files to the Class-Path element in the application +JAR files manifest file (MANIFEST.MF). + +To run the project from the command line, go to the dist folder and +type the following: + +java -jar "USocket.jar" + +To distribute this project, zip up the dist folder (including the lib folder) +and distribute the ZIP file. + +Notes: + +* If two JAR files on the project classpath have the same name, only the first +JAR file is copied to the lib folder. +* Only JAR files are copied to the lib folder. +If the classpath contains other types of files or folders, these files (folders) +are not copied. +* If a library on the projects classpath also has a Class-Path element +specified in the manifest,the content of the Class-Path element has to be on +the projects runtime path. +* To set a main class in a standard Java project, right-click the project node +in the Projects window and choose Properties. Then click Run and enter the +class name in the Main Class field. Alternatively, you can manually type the +class name in the manifest Main-Class element. diff --git a/USocket/dist/USocket.jar b/USocket/dist/USocket.jar new file mode 100644 index 0000000000000000000000000000000000000000..df2207cd301507eb4817f8e6f328ef156f9df8c2 GIT binary patch literal 3973 zcmb7HTUQ&`75)YUg2`ZG8;AwAGj>RVz!KQ?1%z!PDAcME5Oc9fdK*c{Fh1 zlDfB~O)qKEOWNl=^r@@u19*kC`qZa9_Am6gzo2Vn^*b{oX%KSOsz9STbN1!i-`;1> zIZO9iBP!4VeDrpD4WUmbBFN6Jq!XEixzW!*1D0x{A5wJezfVg4rnvm}@LLnjrWZ1E zv&$>V>|EBc%txZ^Cf0;gHf<}VUrCO2sc9?pBwaG{n?mO^PF@*Hj(4dujxbzNNKEfh z;bw9yd3|I&v6`z`ZY6QG;{9H^I+h%}rVlMS<_=}`>55q_#Hm^|%H_n8;clk%F7;tz zW-*(cU06x!S;Mpv-mJcB7K?gL=tiL+3c68o?QO#~^G30_r|0-DO?9btg_NGRx0BnZ zV^S_}7esP(+0JhXw@d9(>!dXD7a=KB9DTk-cOVfm-5`DI{eMjqH9&sPH<1p2B=a)t z&p!Y3AC$R`KdERzYZMU;ZD?1}{n*$sMvI2EF}j$0Eb^{`_FJZ9x_1<`4#n4^=upt> z30cA&T^7!caQqNeM4?JEFDQr%W#Vg{=)#F8PHO1JsUxPB_sXu=rbW9#2fg#2J<}d# ziY#~8WlpyzJ8(w9Dc^x^TDnor+eOz_(Tlz)Ues_FF$HIus49q-q@kik+e5x_FCtnt zt&Pd}nuI!_;T+C0JR_eMCBir}6!&Glz`U#x#7nes-^`00=3cK@I!ll>=t>|_T-0z$ zveuR_+GU|)5U)h>s)pAvq~JxF(Qv+k3@A_~p?+ivdPvnVzflY;=&QyyU3v6KIHGW0 z7zN=(aalpEI+w9Zm4GsTT1670QH*K0f~yKndV=+k6r9))Zb*wjtAR5Ep@~TqBe*6L zdR@WUfX42rO>!!u$D<5i$`@FDGigjrJ#d}EzFyikWmLghZEBQR$1?&>k3P< zZ5H)yQ7#)B8z$LK;-b8yHB4is8ijDvg@QvNi7-TCh5-jN3}Y5^QG7+iT?wM6Mo37= zw|CbrSG7)ab$nIBJN z=?cFR6$~{okU4HZ(wxM7N%J!6qM4FhnyXD}=7Ds_nt7n0zgjbk6}MJ2{=785uHj9* z#fo8lge5}MGW+2fQoDw)OH|)rMFyxEWhC|$d`n6hM@q!^%o2$r-?)&gsB#ce@sTW; zT5Sc2Z%WHK^vMfLV-SxuY@w(?E1GOCR+Z!4+5!vL8hg|X`!mCp1-Ve!&IxD5$QAkI z^t{auzh*e590w00?xx9%$L622swde6O19%NMkT|pQuaC{i^qrE*eogDo-dlhV&gd# z67ky(Tg2=W*_HSrEJyL35Ivd2+KhtE+WL^Fz4RW9vB#$(ZLxQhihET`UK?swWX%k8 zIA*!TWx=po%n~oTUDksy$xK%}Q;?Ely*zjx#ZMHRuPwY)Ys<2CExFu6!Sw9PQYF;+ zBk7xHR_({3Hfbl!h|3*?O*WV9ijx;}rcAF^eG^JNd@W7ewp(@`qm&iyrd=qXY{xHE z{0hI0;se3E$>Ol`mOJN#z~1@(&n1M0CCX0G;!Hhj#k(K6*y>(Vvxr z3;saA{8!5Pw)^QE=tn08aEg0@K5m;X@b3~{^8D$(O*kl1PD;6`5JMkM(Bm$xJmK>Q zpX_m#ohLxE%djMxc>goJJb#Gz`XNTvi6n7=FCE~eNPg{EhgeNu49UKX%Fi)-(!H4zVQwb%6v}* z)D18;iMo~g{rCazB1h=tyE4H47i!5wr4Er?A09Zs8w-b6A*XBWiG4ggz}F7&%~a$N zx%F5ia)3grE!M_3Hezl2*rdo*y_|gPZ?JflndlX=yoxbAAohnuw(eoS<9qWk(JfM5 z6tXr`0naLRB=@bfaSl)MLt-E19=97mB34-x?Zp0LuPlCwcY`?o$vMf~^#2>jz%!Vs z_F6Qt_IfTZ$-@`~D=`_*J7Hk#WY=uX}lKGU@fMz zK}m*+Eh&$j>KFM|iENhK`kA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/USocket/nbproject/genfiles.properties b/USocket/nbproject/genfiles.properties new file mode 100644 index 0000000..15c6061 --- /dev/null +++ b/USocket/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=73e21a97 +build.xml.script.CRC32=905bb893 +build.xml.stylesheet.CRC32=f85dc8f2@1.102.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=73e21a97 +nbproject/build-impl.xml.script.CRC32=04bab3ac +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.102.0.48 diff --git a/USocket/nbproject/private/private.properties b/USocket/nbproject/private/private.properties new file mode 100644 index 0000000..ea67f5f --- /dev/null +++ b/USocket/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=/home/boss/.netbeans/16/build.properties diff --git a/USocket/nbproject/private/private.xml b/USocket/nbproject/private/private.xml new file mode 100644 index 0000000..17c9c05 --- /dev/null +++ b/USocket/nbproject/private/private.xml @@ -0,0 +1,9 @@ + + + + + + file:/home/boss/Progetti/USocket/src/com/mirimatcode/USocket.java + + + diff --git a/USocket/nbproject/project.properties b/USocket/nbproject/project.properties new file mode 100644 index 0000000..c7a0475 --- /dev/null +++ b/USocket/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}/USocket.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/USocket +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=17 +javac.target=17 +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=USocket +main.class=com.mirimatcode.USocket +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/USocket/nbproject/project.xml b/USocket/nbproject/project.xml new file mode 100644 index 0000000..ff0395c --- /dev/null +++ b/USocket/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + USocket + + + + + + + + + diff --git a/USocket/src/com/mirimatcode/USocket.java b/USocket/src/com/mirimatcode/USocket.java new file mode 100644 index 0000000..2999760 --- /dev/null +++ b/USocket/src/com/mirimatcode/USocket.java @@ -0,0 +1,112 @@ +package com.mirimatcode; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.net.ServerSocket; +import java.net.Socket; +import java.net.UnknownHostException; + +public class USocket { + + /* + Lato server + */ + + /** + * Inizializza il Socket lato server e ritorna il Socket lato client una volta ricevuto + * @param porta porta di ascolto + * @return istanza del client ricevuto + * @throws IOException + */ + private static Socket initServer(int porta) throws IOException { + ServerSocket server = new ServerSocket(porta); + System.out.println("Server in ascolto"); + Socket client = server.accept(); + System.out.println("Ricevuto un pacchetto"); + server.close(); + return client; + } + + /** + * Mette il Socket lato server in ascolto e ritorna il messaggio una volta ricevuto + * @param porta porta di ascolto + * @return messaggio ricevuto + * @throws IOException + */ + public static String listenString(int porta) throws IOException { + Socket client = initServer(porta); + String messaggio = new BufferedReader(new InputStreamReader(client.getInputStream())).readLine(); + System.out.println("Ottenuto il messaggio"); + client.close(); + return messaggio; + } + + /** + * Mette il Socket lato server in ascolto, risponde con un messaggio al mittente e restituisce il messaggio ricevuto + * @param porta porta di ascolto + * @param risposta messaggio che si vuole trasmettere come risposta + * @return messaggio ricevuto + * @throws IOException + */ + public static String listenAndReplyString(int porta, String risposta) throws IOException { + Socket client = initServer(porta); + String messaggio = new BufferedReader(new InputStreamReader(client.getInputStream())).readLine(); + + String ip = client.getInetAddress().getHostAddress(); + client.close(); + System.out.println("Mi appresto a rispondere a " + ip); + + writeString(ip, porta, risposta); + + return messaggio; + } + + /* + Lato Client + */ + + /** + * Prepara un Socket lato client e trasmette il messaggio all'indirizzo IP specificato + * @param ip IP del destinatario del messaggio + * @param porta porta del destinatario + * @param messaggio messaggio che si vuole trasmettere + * @throws UnknownHostException + * @throws IOException + */ + public static void writeString(String ip, int porta, String messaggio) throws UnknownHostException, IOException { + Socket client = new Socket(ip, porta); + + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); + PrintWriter out = new PrintWriter(bw, true); + out.println(messaggio); + + out.close(); + client.close(); + } + + /** + * Prepara un Socket lato client, trasmette il messaggio all'indirizzo IP specificato e resta in ascolto di una risposta dal destinatario + * @param ip IP del destinatario del messaggio + * @param porta porta del destinatario + * @param messaggio messaggio che si vuole trasmettere + * @return messaggio ricevuto dal destinatario come risposta + * @throws UnknownHostException + * @throws IOException + */ + public static String writeAndListenString(String ip, int porta, String messaggio) throws UnknownHostException, IOException { + Socket client = new Socket(ip, porta); + + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); + PrintWriter out = new PrintWriter(bw, true); + out.println(messaggio); + String testo = listenString(porta); + out.close(); + client.close(); + + return testo; + } +} \ No newline at end of file