diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/pom.xml b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ab19a7dddab8ed486ba8793a1791fc19181b7c8d
--- /dev/null
+++ b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>com.mycompany</groupId>
+    <artifactId>RoyerHomework2</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>jar</packaging>
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>12</maven.compiler.source>
+        <maven.compiler.target>12</maven.compiler.target>
+    </properties>
+</project>
\ No newline at end of file
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java
new file mode 100644
index 0000000000000000000000000000000000000000..551af66db99130ee6135986082b9f155b32c5bf9
--- /dev/null
+++ b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java
@@ -0,0 +1,89 @@
+package royer.homework2;
+
+import java.net.*;
+import java.io.*;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ *
+ * @author nick
+ */
+public class TCPPeer {
+    private ServerSocket server_socket = null;
+    private Socket client_socket = null;
+    
+    private PrintWriter out_stream = null;
+    private BufferedReader in_stream = null;
+    
+    private boolean is_server = true;
+    
+    public boolean isServer() {
+        return is_server;
+    }
+        
+    public TCPPeer(int port, String ip) throws IOException {
+        is_server = (ip.equals(""));
+        if (is_server) {
+            server_socket = new ServerSocket(port);
+            client_socket = server_socket.accept();
+            
+        } else {
+            // Client
+            client_socket = new Socket(ip, port);
+        }
+  
+        in_stream = new BufferedReader(new InputStreamReader(client_socket.getInputStream()));
+        out_stream = new PrintWriter(client_socket.getOutputStream(), true);
+        
+        should_stop.set(false);
+        
+        start();
+    }
+    
+    void start() {
+        if (is_server) {
+            while(!should_stop.get()) {
+                try {
+                    String msg = in_stream.readLine();
+                    // if (msg == null || msg.equals(""))
+                    //    continue;
+                    System.out.println("Server received \"" + msg + "\"");
+                    out_stream.println("OK");
+                    if (msg.equals("--quit"))
+                        stop_connection();                    
+                } catch (IOException ex) {
+                    
+                }
+            }
+        }
+    }
+    
+    private final AtomicBoolean should_stop = new AtomicBoolean(false);
+    
+    public void stop_connection() {
+        should_stop.set(true);
+    }
+    
+    public TCPPeer(int port) throws IOException {
+        this(port, "");
+    }
+    
+    public void close() throws IOException {
+        System.out.println("Closing " + (is_server ? "Server" : "Client"));
+        in_stream.close();
+        out_stream.close();
+        client_socket.close();
+        if (is_server) {
+            server_socket.close();
+        } else {
+            
+        }
+    }
+    
+    public String send(String msg) throws IOException {
+        out_stream.println(msg);
+        String response = in_stream.readLine();
+        System.out.println((is_server ? "Server" : "Client") + " sending \"" + msg + "\": " + response);
+        return response;
+    }
+}
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/Tester.java b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/Tester.java
new file mode 100644
index 0000000000000000000000000000000000000000..5e3032b01e42866e324d5b7496163c9b490d5cc9
--- /dev/null
+++ b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/Tester.java
@@ -0,0 +1,57 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package royer.homework2;
+
+import java.io.*;
+
+/**
+ *
+ * @author nick
+ */
+public class Tester {
+    
+    private static class ServerThread extends Thread {
+        private TCPPeer server = null;
+        int port = 0;
+        public ServerThread(int port) {
+            super();
+            this.port = port;
+        }
+        
+        @Override
+        public void run() {
+            try {
+                server = new TCPPeer(port);
+                server.close();
+                Thread.currentThread().interrupt();
+            } catch (Exception ioex) {
+                System.err.println(ioex.toString());
+            }
+        }
+    }
+    
+    public static void main(String[] args) {
+        
+        int test_port = 6668;
+        
+        try {
+            System.out.println("Setting up");
+            ServerThread st = new ServerThread(test_port);
+            st.start();         
+            TCPPeer client = new TCPPeer(test_port, "127.0.0.1");
+            System.out.println("Setup complete");
+            client.send("Test");
+            
+            client.send("--quit");
+            client.close();
+            st.join();
+            
+            System.out.println("Done");
+        } catch (Exception ex) {
+            System.err.println(ex.toString());
+        }
+    }
+}
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/TCPPeer.class b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/TCPPeer.class
new file mode 100644
index 0000000000000000000000000000000000000000..c2a2699cf29f7560a8cdc86cca629210e46a0329
Binary files /dev/null and b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/TCPPeer.class differ
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester$ServerThread.class b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester$ServerThread.class
new file mode 100644
index 0000000000000000000000000000000000000000..29e799fc67d687b5068c5316558acf22a7d6bef4
Binary files /dev/null and b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester$ServerThread.class differ
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester.class b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester.class
new file mode 100644
index 0000000000000000000000000000000000000000..04d5d5f7339a67bb6aa264e0e6284a78940ddf84
Binary files /dev/null and b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester.class differ
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000000000000000000000000000000000000..b8c08f64ab97714bf06250711c33796abc82298b
--- /dev/null
+++ b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,2 @@
+royer/homework2/Tester.class
+royer/homework2/TCPPeer.class
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000000000000000000000000000000000000..a2b22bf32a251d7f87b1e22cba24f76bcf01c678
--- /dev/null
+++ b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/home/nick/Documents/NPS/Quarter 4/MV3500/Homework 2/RoyerHomework2/src/main/java/royer/homework2/Tester.java
+/home/nick/Documents/NPS/Quarter 4/MV3500/Homework 2/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/package-info.java b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..68d490841f110b6dcf4b8986e796b7ccb1edcb5b
--- /dev/null
+++ b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * ExampleSimpleSimulation program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2022MayJune.homework2.Royer;
diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/readme.md b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..3514d7e2ee780c6214c0851cae3e918db11025da
--- /dev/null
+++ b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/readme.md
@@ -0,0 +1 @@
+nothing yet