Skip to content
Snippets Groups Projects
Commit 61969673 authored by advan's avatar advan
Browse files

Merge origin/master

parents cceb3058 b07b8d92
No related branches found
No related tags found
No related merge requests found
......@@ -4,13 +4,12 @@ import java.io.*;
import java.net.*;
/**
* This client program establishes a socket connection to the {@link TcpExamples.TcpExample4DispatchServer},
* This client program establishes a socket connection to the ,
* then checks how long it takes to read the single line it expects as a server response.
* The modification I have added is it checks for a password from the server. And it matches it says success and disconnects
* No fancy footwork here, it is pretty simple and similar to {@link TcpExamples.TcpExample3Client}.
* No fancy footwork here, it is pretty simple and similar to TcpExamples.TcpExample3Client}.
* borrowed code from class
*
* @see TcpExample4DispatchServer
* @see TcpExample4HandlerThread
*
* @see <a href="../../../src/TcpExamples/TcpExample4TerminalLog.txt" target="blank">TcpExample4TerminalLog.txt</a>
* @see <a href="../../../src/TcpExamples/TcpExample4SequenceDiagram.png" target="blank">TcpExample4SequenceDiagram.png</a>
......@@ -19,7 +18,7 @@ import java.net.*;
* @author Don McGregor
* @author Don Brutzman
* @author MV3500 class
* @MarkMM
* @author MarkMM
*/
public class Matiski2Client
{
......
......@@ -5,18 +5,16 @@ import java.net.*;
/**
* <p>
* This utility class supports the {@link TcpExamples.TcpExample4DispatchServer} program,
* This utility class supports the TcpExamples.TcpExample4DispatchServer program,
* handling all programming logic needed for a new socket connection
* to run in a thread of its own. This is the server
* portion as well, so we artificially invent what happens
* if the server can't respond to a connection for several seconds.
* </p>
* <p>
* Warning: do not run this class! It is created and used automatically by {@link TcpExamples.TcpExample4DispatchServer} at run time.
* Warning: do not run this class! It is created and used automatically by TcpExamples.TcpExample4DispatchServer} at run time.
* </p>
*
* @see TcpExample4Client
* @see TcpExample4DispatchServer
* see examples
*
* @see <a href="../../../src/TcpExamples/TcpExample4TerminalLog.txt" target="blank">TcpExample4TerminalLog.txt</a>
* @see <a href="../../../src/TcpExamples/TcpExample4SequenceDiagram.png" target="blank">TcpExample4SequenceDiagram.png</a>
......@@ -25,6 +23,7 @@ import java.net.*;
* @author Don McGregor
* @author Don Brutzman
* @author MV3500 class
* borrowed heavily from above authors
*/
public class Matiski2HandlerThread extends Thread
{
......
......@@ -9,8 +9,6 @@ import java.net.*;
* This advanced technique is often used in high=performance high=capacity server programs.
*
*
* @see TcpExample4Client
* @see Matiski2HandlerThread
*
* @see <a href="../../../src/TcpExamples/TcpExample4TerminalLog.txt" target="blank">TcpExample4TerminalLog.txt</a>
* @see <a href="../../../src/TcpExamples/TcpExample4SequenceDiagram.png" target="blank">TcpExample4SequenceDiagram.png</a>
......@@ -19,6 +17,7 @@ import java.net.*;
* @author Don McGregor
* @author Don Brutzman
* @author MV3500 class
* borrowed heavily from above authors
*/
public class Matiski2Server
{
......
# Rene Romero Homework 3
***
## Description
Modification to ...
<!--
Phrases taken from: <b>https://www.divein.com/everyday/monday-motivation-quotes/</b>
<a href="images/MOTD.png"><img src="images/MOTD.png" width="700" align="center"/></a>
Message of the day reference: <b>https://en.wikipedia.org/wiki/Message_of_the_day </b>
-->
/**
* Final project assignments supporting the NPS MOVES MV3500 Networked Graphics course.
*
* @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments" target="_blank">networkedGraphicsMV3500 assignments</a>
* @see java.lang.Package
* @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful" target="_blank">StackOverflow: why-is-package-info-java-useful</a>
* @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java" target="_blank">StackOverflow: how-do-i-document-packages-in-java</a>
*/
package MV3500Cohort2024JulySeptember.homework3.Romero;
For Homework 3, I modified the OpenDIS ExampleSimulationProgram to enhance its functionality
by experimenting with entity enumeration values and adjusting the network communication setup.
Specifically, I changed the entities in the simulation to a Swedish Poseidon-class surface vessel
(Entity 1) and a Triton-class surface vessel (Entity 2) from the dis entities list.
I assigned Entity 1 to the friendly force and Entity 2 to the enemy force to simulate an adversarial scenario,
and I configured a FirePDU for Entity 1 with custom munition settings. On the networking side, I configured the
program to use UDP multicast for distribution of the PDUs across
multiple participants in a simulation environment. This choice was driven by the need for
low-latency communication in large-scale simulations, where UDP's minimal overhead is
advantageous, and multicast ensures that updates reach all participants simultaneously. I also
On the networking side, I configured the program to use UDP multicast for distribution of the PDUs across
multiple participants in the simulation. I did this to attempt to create the
low-latency communication needed in large-scale simulations, where UDP's minimal overhead is
advantageous, and multicast ensures that updates reach all clients at the same time. I also
enabled verbose logging to facilitate debugging. Additionally, I adjusted
the simulation loop to increment Entity 1’s position in each iteration, simulating movement, and set
the loop to run for a maximum of 10 iterations, with the ability to terminate early if certain
conditions are met. In my opinion, these changes improve the program’s ability to simulate realistic
scenarios while maintaining efficient and responsive network communication.
\ No newline at end of file
the loop to run for a maximum of 10 iterations.
\ No newline at end of file
annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false
annotation.processing.processors.list=
annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.desc=Example programs provided as part of NPS course Networked Graphics MV3500. This course is an introduction to network communications in simulation applications. Topics include an introduction to the TCP/IP protocol stack; TCP/IP socket communications, including TCP, UDP, and multicast; and protocol design issues, with emphasis on Distributed Interactive Simulation (DIS) Protocol and High Level Architecture (HLA). Course emphasis is on creation and testing of network programming network code and web-browser applications.
application.homepage=https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/examples
application.splash=..\\..\\NetworkedGraphicsMV3500\\documentation\\images\\OpenDisSurferDude.png
application.title=NPS Networked Graphics MV3500 examples
application.vendor=Don Brutzman
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.name=Networked_Graphics_MV3500_examples
dist.jar=${dist.dir}/${dist.name}.jar
dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath=
project.licensePath=../license.txt
viskit.proj.dir=ViskitOpenDis7Examples
viskit.proj.lib.dir=src/${viskit.proj.dir}/lib
opendis.helper=SimkitOpenDis7Examples.run.OpenDisHelper
excludes=ViskitOpenDis7Examples/
file.reference.dis-enums-1.3.jar=../lib/dis-enums-1.3.jar
file.reference.opendis7-full.jar=../lib/opendis7-full.jar
file.reference.open-dis_4.16.jar=../lib/open-dis_4.16.jar
file.reference.simkit-doc.zip=../lib/simkit-doc.zip
file.reference.simkit-src.zip=../lib/simkit-src.zip
file.reference.simkit.jar=../lib/simkit.jar
#file.reference.opendis7-enumerations-classes.jar=../lib/opendis7-enumerations-classes.jar
#file.reference.opendis7-pdus-classes.jar=../lib/opendis7-pdus-classes.jar
includes=**/*.java
jar.compress=false
javac.classpath=\
${file.reference.opendis7-full.jar}:\
${file.reference.open-dis_4.16.jar}:\
${file.reference.dis-enums-1.3.jar}:\
${file.reference.simkit.jar}:\
${file.reference.simkit-doc.zip}:\
${file.reference.simkit-src.zip}
# ${file.reference.opendis7-enumerations-classes.jar}:\
# ${file.reference.opendis7-pdus-classes.jar}:\
# Space-separated list of extra javac options
javac.compilerargs=-Xlint:deprecation -Xlint:unchecked
javac.deprecation=false
javac.external.vm=true
javac.modulepath=
javac.processormodulepath=
javac.processorpath=\
${javac.classpath}
javac.source=22
javac.target=22
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
javac.test.modulepath=\
${javac.modulepath}
javac.test.processorpath=\
${javac.test.classpath}
javadoc.additionalparam=-header "NPS Networked Graphics MV3500 Examples"
javadoc.author=true
javadoc.encoding=${source.encoding}
javadoc.html5=false
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
#javadoc.reference.opendis7-enumerations-classes.jar=../lib/opendis7-enumerations-javadoc.jar
javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=MV3500 Examples
jlink.launcher=false
jlink.launcher.name=Networked_Graphics_MV3500_examples
main.class=TcpExamples.TcpExample1Telnet
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
#source.reference.opendis7-enumerations-classes.jar=../lib/opendis7-enumerations-source.jar
src.dir=src
src.src.dir=otherProjects\\DisDemo\\src
src.src2.dir=otherProjects\\DisShooting\\src
src.src3.dir=otherProjects\\WebSocketGateway\\src
#src.src4.dir=otherProjects\\BasicServletDemo\\src
annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false
annotation.processing.processors.list=
annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.desc=Example programs provided as part of NPS course Networked Graphics MV3500. This course is an introduction to network communications in simulation applications. Topics include an introduction to the TCP/IP protocol stack; TCP/IP socket communications, including TCP, UDP, and multicast; and protocol design issues, with emphasis on Distributed Interactive Simulation (DIS) Protocol and High Level Architecture (HLA). Course emphasis is on creation and testing of network programming network code and web-browser applications.
application.homepage=https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/examples
application.splash=..\\..\\NetworkedGraphicsMV3500\\documentation\\images\\OpenDisSurferDude.png
application.title=NPS Networked Graphics MV3500 examples
application.vendor=Don Brutzman
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.name=Networked_Graphics_MV3500_examples
dist.jar=${dist.dir}/${dist.name}.jar
dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath=
project.licensePath=../license.txt
viskit.proj.dir=ViskitOpenDis7Examples
viskit.proj.lib.dir=src/${viskit.proj.dir}/lib
opendis.helper=SimkitOpenDis7Examples.run.OpenDisHelper
excludes=ViskitOpenDis7Examples/
file.reference.dis-enums-1.3.jar=../lib/dis-enums-1.3.jar
file.reference.opendis7-full.jar=../lib/opendis7-full.jar
file.reference.open-dis_4.16.jar=../lib/open-dis_4.16.jar
file.reference.simkit-doc.zip=../lib/simkit-doc.zip
file.reference.simkit-src.zip=../lib/simkit-src.zip
file.reference.simkit.jar=../lib/simkit.jar
#file.reference.opendis7-enumerations-classes.jar=../lib/opendis7-enumerations-classes.jar
#file.reference.opendis7-pdus-classes.jar=../lib/opendis7-pdus-classes.jar
includes=**/*.java
jar.compress=false
javac.classpath=\
${file.reference.opendis7-full.jar}:\
${file.reference.open-dis_4.16.jar}:\
${file.reference.dis-enums-1.3.jar}:\
${file.reference.simkit.jar}:\
${file.reference.simkit-doc.zip}:\
${file.reference.simkit-src.zip}
# ${file.reference.opendis7-enumerations-classes.jar}:\
# ${file.reference.opendis7-pdus-classes.jar}:\
# Space-separated list of extra javac options
javac.compilerargs=-Xlint:deprecation -Xlint:unchecked
javac.deprecation=false
javac.external.vm=true
javac.modulepath=
javac.processormodulepath=
javac.processorpath=\
${javac.classpath}
javac.source=21
javac.target=21
javac.test.classpath=\
${javac.classpath}:\
${build.classes.dir}
javac.test.modulepath=\
${javac.modulepath}
javac.test.processorpath=\
${javac.test.classpath}
javadoc.additionalparam=-header "NPS Networked Graphics MV3500 Examples"
javadoc.author=true
javadoc.encoding=${source.encoding}
javadoc.html5=false
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
#javadoc.reference.opendis7-enumerations-classes.jar=../lib/opendis7-enumerations-javadoc.jar
javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=MV3500 Examples
jlink.launcher=false
jlink.launcher.name=Networked_Graphics_MV3500_examples
main.class=TcpExamples.TcpExample1Telnet
manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false
platform.active=JDK_22
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
#source.reference.opendis7-enumerations-classes.jar=../lib/opendis7-enumerations-source.jar
src.dir=src
src.src.dir=otherProjects\\DisDemo\\src
src.src2.dir=otherProjects\\DisShooting\\src
src.src3.dir=otherProjects\\WebSocketGateway\\src
#src.src4.dir=otherProjects\\BasicServletDemo\\src
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment