From e0da59591f8a160d4b02e9516f7756c6fab35b1f Mon Sep 17 00:00:00 2001
From: KonakovAlexei <46484735+KonakovAlexei@users.noreply.github.com>
Date: Sun, 20 Jan 2019 23:17:43 +0300
Subject: [PATCH] Add files via upload
---
homework6/homework6.iml | 11 +++
.../out/production/homework6/ChatClient.class | Bin 0 -> 1032 bytes
.../out/production/homework6/ChatServer.class | Bin 0 -> 1555 bytes
.../out/production/homework6/Client$1.class | Bin 0 -> 1580 bytes
.../out/production/homework6/Client$2.class | Bin 0 -> 1120 bytes
.../out/production/homework6/Client.class | Bin 0 -> 2217 bytes
homework6/src/ChatClient.java | 28 ++++++++
homework6/src/ChatServer.java | 39 +++++++++++
homework6/src/Client.java | 63 ++++++++++++++++++
9 files changed, 141 insertions(+)
create mode 100644 homework6/homework6.iml
create mode 100644 homework6/out/production/homework6/ChatClient.class
create mode 100644 homework6/out/production/homework6/ChatServer.class
create mode 100644 homework6/out/production/homework6/Client$1.class
create mode 100644 homework6/out/production/homework6/Client$2.class
create mode 100644 homework6/out/production/homework6/Client.class
create mode 100644 homework6/src/ChatClient.java
create mode 100644 homework6/src/ChatServer.java
create mode 100644 homework6/src/Client.java
diff --git a/homework6/homework6.iml b/homework6/homework6.iml
new file mode 100644
index 0000000..9465dd8
--- /dev/null
+++ b/homework6/homework6.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/homework6/out/production/homework6/ChatClient.class b/homework6/out/production/homework6/ChatClient.class
new file mode 100644
index 0000000000000000000000000000000000000000..15f6c643096eb891a82fe497a0f215eeb10c18d0
GIT binary patch
literal 1032
zcmZuw+fEZv6kVqsI@4iFX%)N|@q%qpiXc`ga!J92q>5=t3Ho4$GJ%0IL)yXMtAC+C
zz%vh6Vxu46Q+@GkL|kV;8-fo#Gkfo~_gZVu>G$7Xz5y7+jE-)kG^E1_VNf3TRXk8J
zq@x2F6~h`H>d-JE<53-tFs9b}QDl
zXS)t-inngp1&l&|-SqNR+j3+_q~w{E%@^kO-{D)P?FjTH-<-GSOEqh2oO0nmWdXh9
z?$j#Qb6aYUwt0r+rVL!dWr1*2T3UDOo`D$R1}>t9V1JiwFPznGmz__!v=h;^(E8MB
zwhmhdt*<{m$l|zx941seGcbuMs`ICv-GG5hNE&s&|BUI$JKZCSbV
zND0*JdcNw`tyTYnzCOcJdSCafEw10%wMnKV{n62FUKr2c{bJ3mSm@_1>*iGrATHMe
zn(!kTb3^~)ULu6tB+n~E{Di^`Fr98dq~n1D1kH1;O@x*kh%W6j8Sq8we1ag2kt8>KqA>1afRVsGADR3Eh(OjK
literal 0
HcmV?d00001
diff --git a/homework6/out/production/homework6/ChatServer.class b/homework6/out/production/homework6/ChatServer.class
new file mode 100644
index 0000000000000000000000000000000000000000..c29c3cbda433d76f977273781141163c277595e0
GIT binary patch
literal 1555
zcmZux+jA3D9R4=9-7H(urZiYCZ4ks1N}?h~Tc|<|P)$;pM40OEuuXT`g*53TTUs4Q
zi_Um?k!O5x#;3lv3{5gb>AO!Sul^^_sP#LWKsrnw_FTT-?fYHM{`udt=KwC?mX1R>
zt72S-2j_x_Bcb6f9dF|uiJaH)u8Ip9CUgXGQO8NVC-L`nYEG({(hj+Cv
zA1DZ1vP-rzt-u=_yRE>NEH79JLTS5XWmlKytxDdUFA@o-%LTJ|+pO5~-T@T~hSK-U
z2WG-9CuU|->ji7YvCE|?dUBTRssbaOTr!=URe4}lBwFQ3!Qr-1$#N2HQLbFLZ#k|4
zPYMS1DZCK%qU8ZrFlYt>bn4p{At5l`%s*0q6kC0N362FO^)`oZ@*QltAEwS7B
zuJx1H5r2$F#dA>;4e^xdj`%$)b_qNc&qTBJbL$7GA{wnn@pxRtH3Qdi!@vwaR&Y}M
zBAT?LLhIXCts1m`*m}ecCX2RJa#-s993;O_45X1UkVVA6EUvN&J$hx}rc84}{M!1F
z!M4e3E6Rf;^*#43mjg3$Z;fc{VK-B;#Ts_Yrl8*q;Pzm4{+?AJtx&gqZYN)`aFy~)
zmGWA9!hEqA*{^*ba$i&(Ynh{2UZtPzpxtD19k$pqmpL&nbJ_pd6&
zvmmFH4q{_HrtNgc%x!#o1bh3@>}s-Du38K38~RLvzaX!iOl#ei`MXTq+09qXf`t=&
ze24g=!N*B@h;Tg&D1X6+0MU&zbtp<&$u!}a8yNk!4sZGid|`hLfwMKJ8F|roX(Bi`
z9@gtPaA&**ovUP1+{#EU%1yBDu<{TicORpz5HqafD<7=(eN
z=tC3-5u?R<3}BL#xXcP%VGUB0&R~R5k0FEOxJ4g%*5y-ryi1u$*#c!2Wj19+9AV6(
zj6XsK$FN5HE1th$eTNzS2IFVQ;0SfR^rCf6)=O*+ei!podxIX1a}VH4`WR(LG^~^B
z3HIo9;?oH3k+N4sScOOBzZJo(iqLg_v+e!V9&P+x1r?{DP!#x^K7x1yr`vtTMYr#C
n&_sByj=?+I4B&AKC;!)=okn$;gh3N3;!T!}6M`|W9-R3ftgw(p
literal 0
HcmV?d00001
diff --git a/homework6/out/production/homework6/Client$1.class b/homework6/out/production/homework6/Client$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..4741b53332d5ca419b589ebba49507192392b326
GIT binary patch
literal 1580
zcmaJ>ZC4XV6n-WN*|@F>6!8_s8Z`+@z}iZUwXHz}4fqm@J?*DqnFDKGX{eZd#bJ@U4Yg0;O%~m$lqf0>iE6a$DAYsn_f6
zIP~;-Bi)Yzw<9o=>}wU*+f=BS+r@api^@~9Yc+jO>7MSkr@i=&z+~m4vOjWPtm=wD
zp&6_Z$g!5E)lzqJRfWrP)$c(ITYo1fA}dz;D^~sZ(;2=A~ZqRa8za8~rtAG@m#wzuHmhH++tY&L(
zA$BqF4#n3W{@oL-mRa)4O}s}5*u|lVVf!5pzee#7{y+Sa?&o*m7!-LJ6z5=ZJjEJM
z6Z;udah7lJ7-pEai3@w^PEt3{+70H}6z2u52N>suDfdeXIb1}UbAd1TWd;Ii$}x2E
Sdy1dXW~w^H5(7=~oBkgt?1f?g
literal 0
HcmV?d00001
diff --git a/homework6/out/production/homework6/Client$2.class b/homework6/out/production/homework6/Client$2.class
new file mode 100644
index 0000000000000000000000000000000000000000..28d4e64a7c138e728433458763861be280e6396e
GIT binary patch
literal 1120
zcmZWp%T^OX5WSs*3=D$_Pfz2
zK)-Uyv85Z@=4{sv<^_h+$HsG!nN@*U$y=8KiL&j=mHPIYti3hY99nwHo@F|#X3bW5
z(->1o0>+Z-%38@WeP2@5n+T~Q$wX^)molxAiw`PKNZ2vmjeI4j+3p6Nx+;NbZ7rKS
z&AfWWtJf^KXe;E-MiG-Lj?5NZ%kg~1Ez6+lt!ubvpcnTIbfd>W0!gI~8+d>j4YLO3
z@X)|K9%*=N;0c~;C>eN$1%Wn|NNQL#@Ek7;ETNA*YoMiy0?AXRuhurD6_EX@=}p~r
z8?A{qLIlRs=X!d+TGa^Mv@GfSsi^{|G;%VLOvAe#*iOD;nX0L5PIrjeY823_roSRT
zk`X)mj;viOYGwj`>1LXJp?H-tTFCh(4O
zayZidX0fd>sRb?FarC2CnjQ67p0v8ZT
zCe>U4t{gJ&P=rq}`uJ}@cO~jku8C}JA0j)kk4W|hqF+PD0m?WXffO!M4uru84B|31
z28AhkHZg?ZX2Q?(Q4llP?+}NG9iVOR=_(TrT
zsj#EO0F|!y&j^7Dh?@1of{0XN)7BoU{#dN00Zj}2r=E?uQy2)7I5TOf{-A!f
zE`hb|TK)ikl)BGMAj9KBS&Mt;p2t4t>~rqTKmY#qH-LBWTQ5dX)wz5r%U5!&>39`O
z3d=ffV?{?A_j>U)?km(qvZ_PJ12J4vc&H?{wtxy(oW>uOAhD(ow|E
zA~D5rLl#SPn*wGlJW|+F*w$cFUDx&&8m8~tzJ`S3Y8a^Pn2*g$J8&A6x@C&NoQ9O+
zw%UP)o~Eork&V-=-18hac<4DnXq5@JJ=@%@5~dKDG)#A^vKmT>(i`bl1S37~xK40K
z!}YPq)U|_3y=m>*!CcI@9x%ez-1wS?iXi&cGZZ7#-OrTR++)GN)o{&g!Maz$Q-Y4s_v(l4C$##8|}PSj4!7#+SPxPiZ7(t|f0kco9}T)8ar(o|&Zh
z^j|nzrT8_u-*#QO$Kjn%`GM(?NficZ@L@?kYP5a6UA+uydtSR0aBxQWegY{ZWc>J*
zkhu$Y&P%wntKrVRb63#V>@wF0K+7P5B&DtL5mMzBNUu*ELLDJ<04+TJf!^?xvFA#>5c{M;JK3VEIoB9%87YE3TKRDut?Hs)nh0&iF}8
z;TB)?9^7CCGcdRslx8u29IMGwKR}Cq%%XtzFoY%6w#s|3jcGLLag!cpdd%{F5)~q`
z5_(N@m#-OmYvI={e|{2pm)}Js{-d}@VMO7!BCe*8O;XEC8?k~KPYK%QnQb3yzAXD8
zUU^PgBFt8@2IFRknv;x3-0h=(iO$kY|axcUsqC7~tD
zVux_8LramZ1(Q@vFH67z!HT#O3s^b{Sn3okWhx{dD5B&uH2$a)y~17iNHJ{kcYZ|0
zq(fmk#55uUd@Ll=`4fCf2}gzGM5Lspn>}4B;@%Mj>ByTtX)Fi@#Q6-17vUsc9*362Z*?
literal 0
HcmV?d00001
diff --git a/homework6/src/ChatClient.java b/homework6/src/ChatClient.java
new file mode 100644
index 0000000..4fe7b57
--- /dev/null
+++ b/homework6/src/ChatClient.java
@@ -0,0 +1,28 @@
+import java.io.IOException;
+import java.net.Socket;
+
+ public class ChatClient {
+
+ private final String SERVER_ADDR = "localhost";
+ private final int SERVER_PORT = 8189;
+
+ public ChatClient() {
+ try {
+ Socket sock = new Socket(SERVER_ADDR, SERVER_PORT);
+ new Client(sock, "Клиент");
+ while(true){
+ if(sock.isClosed()){
+ break;
+ }
+ }
+ System.exit(0);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String[] args) {
+ new ChatClient();
+ }
+ }
+
diff --git a/homework6/src/ChatServer.java b/homework6/src/ChatServer.java
new file mode 100644
index 0000000..984c5ed
--- /dev/null
+++ b/homework6/src/ChatServer.java
@@ -0,0 +1,39 @@
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+ public class ChatServer {
+
+ public ChatServer(){
+ ServerSocket serv = null;
+ Socket sock = null;
+ try {
+ serv = new ServerSocket(8189);
+ System.out.println("Сервер запущен, ожидаем подключения...");
+ sock = serv.accept();
+ System.out.println("Клиент подключился");
+ new Client(sock, "Сервер");
+ while(true){
+ if(sock.isClosed()){
+ break;
+ }
+ }
+ serv.close();
+ System.exit(0);
+ } catch (IOException e) {
+ System.out.println("Ошибка инициализации сервера");
+ } finally {
+ try {
+ serv.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+
+ public static void main(String[] args) {
+ new ChatServer();
+ }
+ }
+
diff --git a/homework6/src/Client.java b/homework6/src/Client.java
new file mode 100644
index 0000000..1f5f1b0
--- /dev/null
+++ b/homework6/src/Client.java
@@ -0,0 +1,63 @@
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.Socket;
+import java.util.Scanner;
+
+public class Client {
+ private Scanner in;
+ private Scanner input;
+ private PrintWriter out;
+ private Thread threadIn;
+ private Thread threadOut;
+ public Client(Socket sock, String name) {
+ try {
+ in = new Scanner(sock.getInputStream());
+ input = new Scanner(System.in);
+ out = new PrintWriter(sock.getOutputStream());
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ threadOut = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ while (true) {
+ if (input.hasNext()) {
+ String q = input.next();
+ sendMsg(name+": "+q);
+ if (q.equalsIgnoreCase("close")) break;
+ }
+ }
+ close(sock);
+
+ }
+ });
+ threadOut.start();
+ threadIn = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ while (true) {
+ if (in.hasNext()) {
+ String w = in.nextLine();
+ System.out.println(w);
+ if (w.contains("close")) break;
+ }
+ }
+ close(sock);
+ }
+ });
+ threadIn.start();
+ }
+ private void sendMsg(String w) {
+ out.println(w);
+ out.flush();
+ }
+ private void close(Socket sock){
+ threadIn.interrupt();
+ threadOut.interrupt();
+ try {
+ sock.close();
+ } catch (Exception e) {}
+
+ }
+}
\ No newline at end of file