From dd7fc7496b599b81dbefafa43635da2da62aeba3 Mon Sep 17 00:00:00 2001
From: ik1g19 <ik1g19@soton.ac.uk>
Date: Mon, 29 Mar 2021 00:11:59 +0100
Subject: [PATCH] add tcp threaded apps

---
 TCPThreaded/TCPReceiverThreaded$1.class   | Bin 0 -> 1530 bytes
 TCPThreaded/TCPReceiverThreaded.class     | Bin 0 -> 1342 bytes
 TCPThreaded/TCPReceiverThreaded.java      |  28 ++++++++++++++++++
 TCPThreaded/TCPReceiverThreadedClass.java |  33 ++++++++++++++++++++++
 TCPThreaded/TCPSender.class               | Bin 0 -> 1424 bytes
 TCPThreaded/TCPSender.java                |  18 ++++++++++++
 6 files changed, 79 insertions(+)
 create mode 100644 TCPThreaded/TCPReceiverThreaded$1.class
 create mode 100644 TCPThreaded/TCPReceiverThreaded.class
 create mode 100644 TCPThreaded/TCPReceiverThreaded.java
 create mode 100644 TCPThreaded/TCPReceiverThreadedClass.java
 create mode 100644 TCPThreaded/TCPSender.class
 create mode 100644 TCPThreaded/TCPSender.java

diff --git a/TCPThreaded/TCPReceiverThreaded$1.class b/TCPThreaded/TCPReceiverThreaded$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..562d18f6698d9be7ec5bc513ecadbefc9a133079
GIT binary patch
literal 1530
zcmX^0Z`VEs1_mpJ2u=nj24;2!79Ivx1~x_p(Gcf=pw#5l%(B#?kc^_##FW$&6+=b_
zuCl}&mE@ev)VvZ#20@>!#Ii*Fywno?;QZw5)Dmkh1`Y;Jb_OmU25tr(Mg{?}d`@Cs
zy1su>R%&tyBLkaFW?p8A9U}v?hGrN$10N%U7+6tezP?jwT3TvRYDy5uwjy>00Y(N%
zn4D)`L1{^FNl|KIE<~D(L5M+^ok4_$L6kv^k%1qq5aAL=2EO#v5+q%W4B{G^5cg*0
z>mx~6b20EUNPrwH$;cp~fmMlS7#9OCgEUBy3?qXuLJ`C*))09)9tL>^1x5xAP;mKV
z=A|++h`{Uwhe2>jQD$DcH7A1-gEBjV3J-%SgBnU81y>fAq~<a*Fz1(+Ffxe3-4alg
znFsZ~wGaaXg9Z<SCW96ugLrOYcB*rJUUFhdcxFk4bADcNNn&0}F(ZQ-)Q!mYLcNbH
z#KoY)pv%sn$HSn{V8F;A3=YN2e0?Mf85!6MK-TBvF*1l^Gc^np6-GP^#-JEyP0q<L
zPGx5>g&796&9x#qwV)(3KaZWkoRL8YYztT-s5CDxF)0TeQV`!FqR?71jFExGIX@+p
zk%1o+oPMRbNvTC45cQnFndy0nC8b5Fj10_0rFo1Dyul@j$=SY%1z;8I4ECr&3l4im
z2Cm@z(xT*4w@i?w5?E5X9>{f!4E(NnAg^TRrTeCqWaOu?Gq^A^2xC#t!{El?&d9)$
zo0yr$$RMT>4e<xqd(a36d4$6+wYbD1zqo{vLBJ_LzofXND6s%ybTL00gEtq04}&i|
zgC8hn{TUflK(5dS8<Lq<mY<!f4>1c8*=~u+CHX~_j0`i7BLu1tVyH)AUP?}Cv5HTA
zes*brHKwDGL{Kz_R2HOSQI6~_NM5!^PESxHoD*|$f-_4}tvMJ185y`36^bBbND3nZ
zk7r(9YLRnJVsUY5F*`#DBZDf2AF(-|ogs{oK@PuCMg}&BKN%Dlm>4)17#YkM7zG4C
zMHvGF0}}%S12=;O0~3QK0|SE+0~1(;OG|qz1Ebb<2KJ2%3=E76RtyXbYz&MH3=CWh
z)?i&c42%pm3?LGuuZMw^ff-a*?q=YP+|9rrskMcHaT|l+b_Vh73{pPY+ZbdceUC8+
zZDLT=*~OsFz_5)$d-?y@5LJfD8CZNaf=xGNuwXD@U;^7G#=y$Jz`)BO#=y^@#~{F9
z${@&K$sojF%fP@O!@%-~L5!V&_YZ?OJA>VS22KV>b_OO8VZy+`%HRNYqa%Y80|NsK
sgENCGg9li|nZc8R0UQQi42%o`3_%PG3_?&pGcYhP1T%y(gfmD208A~3)&Kwi

literal 0
HcmV?d00001

diff --git a/TCPThreaded/TCPReceiverThreaded.class b/TCPThreaded/TCPReceiverThreaded.class
new file mode 100644
index 0000000000000000000000000000000000000000..db6b352148ed133897ad8a1679df32f67c3e159f
GIT binary patch
literal 1342
zcmX^0Z`VEs1_mnzFD?cq24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc22rr0ywno?;MAhB)S}@0<m}WEE(Uf6E|4+Yj0`Lqo|<7G0bU*k
zJ_de92DZfH<kW%^Mh0OGO&^4IutsZk20;{?Lo$j|6I0k3gc%t`L!1MGQj=3N%TkLV
z!l@}LhFlCn45A>b#26VwG%(BqSuMaI0a75z$RG|?0QOW+X<lApQckKhM2$2LgAB;q
zti>gXMJ4PEa*PbZVAp{ayH<eQoSC1;$)LcX$j+d|!=TKdg5uQR%HopLTt)`w{L&Ie
z22qGpGV}EViZb&`f=h~06LYPF7#JATco@_fG#DAga}%>uo%8dO6HCG~OER4E^NLFn
z^Gb>t88nfd3AfoA8d_lY1eX+L=A~P6F=#Ppvoq-MFz7Pq!5oZgCnE!U0mub8d5jFA
z$Oc1=07aw$BZDxO&}C#`an4UkWn|#@$;?ajE6q(xEeZhz86yKrZenI0BZHVmG{m3C
zj?xTcWZ(@hNlec6O)LPbXJ;^HWDv%pl#zieIKQ+gIn^yQCzX*w0*fQ`K#{=6!0ne>
zT;iJwazZg9gMd?heo1jjQDT8_YDq?ZN-;khgDn?>9fLhPg99jh9T^!^KpG+GH#4s+
zKRZ<);$ujVyCo)<<QG*kGR!~@6R1Lnp&p5ODLJXdDn9x7*`)>6m>xwELD3jeS&)iF
zIkNvDISM68p+-0-=HvutmZVy9FgP<Zu%{Lk<rgV1GBWUZ=H;apIp-u67pE4pGq^D_
zsA6~!o4eT=JQx||@GE6xV1sy)L4iS^fr$YGKqM;z8v`SQAp--0ECVA0BLf2itJZb~
z#*GXN42%p$3=Cjt1_ovZP6lHJ6R6Tn46F>y3=9m;yBXLc1qB{$XW;bF-p0V=yPH8E
zayNreq|SB*k?joP+Zd#l|9|Pbi9udx7lSGT!!`!Z<^ON`Y+{hthVeHtFfnj5C^4uq
z$TBc6m@=3$$TBd2E!Jb;23ya~z{w!Mz{McXAk3h|AjY7|Ai|)=Aj)9GAjV+IAi-e9
zAj#mwAkARPz`!8M!2E}So1K9@lAS^JKLbAlBRhi`h>&GqVX$CeU|?dfWUyjjU|?Zj
qWDsJoW?*38U|?jhVPIr%VsK$#U=U(pVgTh}Q1G}ixHEV%NCE(ZUQj*&

literal 0
HcmV?d00001

diff --git a/TCPThreaded/TCPReceiverThreaded.java b/TCPThreaded/TCPReceiverThreaded.java
new file mode 100644
index 0000000..3f07d5a
--- /dev/null
+++ b/TCPThreaded/TCPReceiverThreaded.java
@@ -0,0 +1,28 @@
+import java.io.*;
+import java.net.*;
+class TCPReceiverThreaded {
+    public static void main(String[] args) {
+        try {
+            ServerSocket ss = new ServerSocket(4322);
+            for (;;) {
+                try {
+                    final Socket client = ss.accept();
+                    new Thread(new Runnable() {
+                        public void run() {
+                            try {
+                                BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
+                                String line;
+                                while ((line = in .readLine()) != null) System.out.println(line + " received");
+                                client.close();
+                            } catch (Exception e) {}
+                        }
+                    }).start();
+                } catch (Exception e) {
+                    System.out.println("error " + e);
+                }
+            }
+        } catch (Exception e) {
+            System.out.println("error " + e);
+        }
+    }
+}
\ No newline at end of file
diff --git a/TCPThreaded/TCPReceiverThreadedClass.java b/TCPThreaded/TCPReceiverThreadedClass.java
new file mode 100644
index 0000000..ca6bf84
--- /dev/null
+++ b/TCPThreaded/TCPReceiverThreadedClass.java
@@ -0,0 +1,33 @@
+import java.io.*;
+import java.net.*;
+class TCPReceiverThreadedClass {
+    public static void main(String[] args) {
+        try {
+            ServerSocket ss = new ServerSocket(4322);
+            for (;;) {
+                try {
+                    Socket client = ss.accept();
+                    new Thread(new ServiceThread(client)).start();
+                } catch (Exception e) {
+                    System.out.println("error " + e);
+                }
+            }
+        } catch (Exception e) {
+            System.out.println("error " + e);
+        }
+    }
+    static class ServiceThread implements Runnable {
+        Socket client;
+        ServiceThread(Socket c) {
+            client = c;
+        }
+        public void run() {
+            try {
+                BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
+                String line;
+                while ((line = in .readLine()) != null) System.out.println(line + " received");
+                client.close();
+            } catch (Exception e) {}
+        }
+    }
+}
\ No newline at end of file
diff --git a/TCPThreaded/TCPSender.class b/TCPThreaded/TCPSender.class
new file mode 100644
index 0000000000000000000000000000000000000000..5dc7a8707d9d38dea3cf0fb3c9101c2ea91e25ab
GIT binary patch
literal 1424
zcmX^0Z`VEs1_mpJP%Z{024;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc27a)jywno?;QZw5)DjK`E=C4{%;LnvWZkgLqLR|Y9H;yWE(Uf6
z9+0uTj0|ELK43jygM&+oGV{`{Jwc}NGcpK+Wis>i1Bx>9O2UgWOHzwKdIfnHgcyVw
z8TivvOZ-bq3Q9|YONvqxa~T;VG&CW`W#;Q6%UE+U@G*#jtQ2Epkc3)^u0}IVh=GAY
zf`>tpL5h(<JU1~r)j2;eIk6->vn0bgKd-nXF|VYUkwH|$6KV^xqd_*v@G!_S$T2do
z7l0g`lLt}@aSyUe%`lK!1s(=PP`I+D<&+j@a55+}sIW7r@-V0|sG|gSaAk2xYAz!K
zbAD+FBZDZ!I9QlK{B147z{nuM#h}F?!_J_M9&QjdtPEhl{DO-?pTU5g!H|c+h`|`e
zrjU%H)Wj4<2G-)7)YJk-1{Mu3P(+x*3<UeZwIVsSpd>RtPl$nu!5kD;7K{v<&=5sc
zVT~n}*cq%C88}0n1A<fYQc{Z;8Cab2Q&Jfj_<b_-QvFJElTwR95|eUL85vk|6EpKb
z=_4BAWw6=M1fm(n$iN$1l9-(Bn^*u<&lQ|sT9lmXmI>0#2e&~Fl!h1?1f25oONvX1
z5(|7&OEU6Piuu_XT(}rq8Qj<z+(EwZU}R7MDTSo)%)GMv>{NY-b&y2hmY7_UUsTD+
zFaz1MP=ydfJreU$a#D*`eDd?NOAD+q-HjxIqA{ehAQg*pWS>Lw97>Qvjc`uP$qCLZ
zNwwx+@M2`(4RH=o$W1LSPE1c#VB}!%VPp_O5mG2l%`4$x@MC0POD!tOFJfe5;PK4M
zOD%HFNh~f-EoNs3WMojq2nuXIWM>FwWRSzJl#ziA5*!Q)43-Q`;6w-_SsB<E7#XY?
z7#L(37#SED7#LW!wlgqpWME)mWUygi082A4Ff(v6*fQ8bmF{C;VPIikV2Iewz#b{Y
zDJbx0I|H}RZU(+c?QIMK+ZjZBneAi+xE3*J>d5Y55NBZ6#vrY;jX{1BgOcnn1`QBj
zQ-nch2ZLS<Gvo6A*OxO0_-tZO(%!{j2A10hc8EKJ7lR1{6WA3-3_M`B@G`J7NHTCR
zC^B#|XfuHF5I2K00}q2E0|$dUg8+jU10RDo13yDJgCK)F0|SEy1Is@KX?6y7b_PDi
z9}L<~><lJ649pA;3=9lR42}#=U^UDP&J2tUo?y}&O!_kTGcYi4F)%U&Fa$A#Fh~Lb
D#&2Ot

literal 0
HcmV?d00001

diff --git a/TCPThreaded/TCPSender.java b/TCPThreaded/TCPSender.java
new file mode 100644
index 0000000..2fd4007
--- /dev/null
+++ b/TCPThreaded/TCPSender.java
@@ -0,0 +1,18 @@
+import java.io.*;
+import java.net.*;
+class TCPSender {
+    public static void main(String[] args) {
+        try {
+            Socket socket = new Socket("isaac-VirtualBox", 4322);
+            PrintWriter out = new PrintWriter(socket.getOutputStream());
+            for (int i = 0; i < 10; i++) {
+                out.println("TCP message " + i);
+                out.flush();
+                System.out.println("TCP message " + i + " sent");
+                Thread.sleep(1000);
+            }
+        } catch (Exception e) {
+            System.out.println("error" + e);
+        }
+    }
+}
-- 
GitLab