FC2p083ai(SwU7OiXoS0@EgDaH$Kk
zCNjus%bbaMT-N3*266^$0}BkD%dT|QDnl}p-C{@;{F-3sFS$}YZZ@hS*yL4@Ea{T(
zaBqtTuGU+|l-hPf25VhP5fnTghJw`jlH<8Ts!Aw=T@h5AZLTVT?>Fp7D#R}zK3kt&
z%u_1vDA$)yMex!O8luK9o+<6{U2gL|Ws6-3WUob#2U^Z+mW&9E{tv`3dIs
z$1A$JGlPFrmDA*@t_RZb{Lq#44WYLEnt`hp7SU&+S3l0{$2BY&xNhMFZZg2YEep4C
z$3h;<239Pr;;w~z=wry9xTOpOQTO7Ssyo6_3}gRnXvqzgpvf`Jo-jP^L4&)pvggX0
zzgLMz$6#(2D-98byiWZXiF&$khXktIk2b}=D!Rg}QD28OjlbV87D$Zx06DvKKxG;v9W0$g^*E5DuqN(FL(FUVy5=MLR
zTjmy5y`NS<+(f8~zS9h`KzFhSWTktWq(9A{w0@FoI%)9en0pWQj)VjT=-C+=KjRe1
zRt!KIgQQWh7$%fh4&jSqNK>!~Q>$s0c0cJ7hV?MwD9{X7E
zvFKxoq4r8DY2PqZ7nk-Jyq4|=hDI!v*gER9h1uopj664Eo$_pt8|m!6)3aTfGlUyT
z3De4Wo(nQp;xv;&*(4X{SePX3a+?^fdr_ga%7^biZp^({B`Tg;snrKzK55ev9fq03
z_<$eth@aR<91~EqR)nlOebrUTsGzC;1u@KOv)@$0wgp#tb4MSURK$dqttq7~ca&7>
zcnOkmwI6L$twweP)ihQTCU29D%u`L>rIumhQt
z&29Xzo|~>U>Uv$Jna-u!-xRj1J3f{}tY9ca;Evnwc!H-snjs<#QAx!}ibBu1Lp*bj
zmaaW+hS3X{?e;;@*7QGz9n0Jb+A71sHR0)w^te>XiBuhZl9X#@2;2Zl2!{D9uSUyV
zk}`}&I(rr8r7(iNyq(6Ok;)dU*fl&AG#j5@0fsug4^{fnV95$ei%2q(1IypRPD!a?
zn9iDW(szXPuna&0H^`#aFh)@>`88P;k}kP&ksLTDtHNVm0Wetx^#Ldx(mUzG5(5IYaG~+%BO`0M(+(Nz%XuQDZ}>vpND6V1$L|qyapl
nx>Mve`t)}R!$)Pq$ACvL_X_SQOq2BJ&tV3mqy?1Xlcdida4rAi
literal 0
HcmV?d00001
diff --git a/Client_Server_Chat_Room/build/classes/client_server_chat_room/chat_Client_GUI$4.class b/Client_Server_Chat_Room/build/classes/client_server_chat_room/chat_Client_GUI$4.class
new file mode 100644
index 0000000000000000000000000000000000000000..250abdb8360cd4b8890376ca7ad47c62e9bea9de
GIT binary patch
literal 922
zcma)4-)j>=5dJnvbM=h<5tI6>wb53aDkMJStt!+Ir4XA!ZNaBwbGIg2F1ulGljxu2
zQ$a!B{iDR$yI@2_dT=*0d*6KX&CLGz`Q;mc7V17cZ22hSzK88))O_Uez{5iiJ05l!
ziqEBz_9a8UzJJb8XzNHYtaham$CFWCn0LG%(@D9jLmr=VBV9Z{EZCt;7)nP<3Db^w
zk_ZZ)cEeZ-WrIYRsW3q}P$?c-snv-vAG8^Xh+(_lz2H;c
z)4j~o
zOCzD^I(bd9jO@~rOR&%6o+1{)s(%Rc=e&8`
WPEmJomuvy|u!&X2LR>|%^!x&q2iR)>
literal 0
HcmV?d00001
diff --git a/Client_Server_Chat_Room/build/classes/client_server_chat_room/chat_Client_GUI$5.class b/Client_Server_Chat_Room/build/classes/client_server_chat_room/chat_Client_GUI$5.class
new file mode 100644
index 0000000000000000000000000000000000000000..0088f94e4a930f2098b59eece1fbc2a5abe7c2d7
GIT binary patch
literal 920
zcma)4QEL-H5dJnvbM=gEjcKhmHPKd^DkMJCr>am(ltOF@wFRG!&E1-8x$K6$O`<=`
zr-FjM`=i9!yI@2_dT=*0d*6KX&CLGz`Q;mcJv4lH*z{4vJrA`-)P3Y}-@^kBTOPI<
ziqEBz_9a8Uv3t%?IMk6~SnfzAj>p5EFz{iYJOC%8(Qr+REc(IK|@Kq+mxD@jr-8A;4l
zztttJMn-}(EoB9RR{`(ov1RZxg4fcGqViW8O{bO`X{#{SiB$c!!VYxg;b94n;FoaC
zeQv{N*hw2p%blrYJQ`_ZMbsS$lPYR|48_Pvqj?`|TmOxye-gIoh;|ruuRL9bm3h5x
z??Qys%H}_3+mVSCv_z74MS7Arnh_8jw@{(fRZ4Y**2w1EhRAocd!*56^1mYgzFfG(!uJ$07gqa2m_Osq
XV?9OP!CkTiY@mu|$3k31vh@4{1#j2H
literal 0
HcmV?d00001
diff --git a/Client_Server_Chat_Room/build/classes/client_server_chat_room/chat_Client_GUI$6.class b/Client_Server_Chat_Room/build/classes/client_server_chat_room/chat_Client_GUI$6.class
new file mode 100644
index 0000000000000000000000000000000000000000..339f2f4666159fb64fc7313474132a7950afff01
GIT binary patch
literal 956
zcma)4+iuf95IvilTjNq1Ld&I>&}&jeTo53k0#XSD6}c1%=&QAH7H2DaH?rM?-{J|x
z10TRgA!hAJL={4{WY5fc=Iq&X_Sf$pKLI>K+eQt`HmX>e!K#flG%eheXtXuqi^XX{w$v$nxgG_4mUL>D&5{o{=TFX1*BkuBX
z=86#kxd(a6p~?3ROGbp2|JTH@p_8zqMAj2rrJWD@JPCwHXwiXEI^$+bqS`1xBCbOB
zgt#WMFNo7zv7!IcABbqkU>EbRrBR}B;S?Q1mdF#VU@_I}<_1u<}p+Jeg*K
zjAGciBs|$3bE*8XRDC`63#S;C4Ez^2rRC6ldos-Zols!v9QEL
zGA4pLysq;aZN_pc<8(A$n+Xa%PVpv&WKsmnmDPEzhvkego>QW;!ZKU?IboTr{h48z7r`+CvpHQ?=0|W`2_2UO+Hm8z
zw^0|8g$lJOEQ=LzNd&jb(vU0*%UKcZle2ZcTpMEFD(7gkLYtKey()s+=*vjQ&<%NFgYN2F1<>S$X?wnuOT
zuZLtu1XpN(K?GN6zcYfXwQq{x8oVBs=8){7!gOgj^`iZruw1BAT0*jyCsh?6)AfB6
zT>FbCvGx~J7Tr89mxQHNmD&=POG9FZq)lLLN~fL7x|E&GI$3&4;((n?q>@fLCpf*)
z8?|Pg%poV!s(Y;&*X^uZrz3B3r68OqK-%tf1o6g$_9442Wv4spnsS+Bx`X?Xt#&fq
zolLj8-GUkeakwtag^s$-4H@DQCRE>Qx4C(89a|1ipU>soG$E?%TN5sYO%P^ueQSF%
z>razzT2NKry3t8>nL*Y`w-Y|qy4A^M?GB1{64OSz%}J?X%?+)cMVJZYe4CxaxrU^Z
zYA4*NMrBPEWbK^c7HwW@geh4XKOB8+#<3NM9aHNqZ`(YOiWlGM&t=76fO{*)6D8=e84VbR&h|mhWtHGR<~diYxI(
zH({rC+nJ=!{l$vhfh7HH&fjz~<814UC$^ryYZLiZbkdCk<7V$O$|!R(BY>UhAjvVO
z*yd>leW#+!&CrEp6Db~Wvm915xrxgJF^_E8$<^tCqZ$sDxMW?@t=mDD&h5!0sWa{h
zRbA@w%?D_4br|8XJwNuO+;BMIbgA*VH?k>bCobD+clnx#s1}oUDtVMhvHE;6)!wQn
zZ7rHC?yVU!4lY{W)J}LV73cBxCp*d!!#Vn}e=kcYwib~hb|OLVpSf`1LRIUWlYFdr
zNqne93N`*@sKM)5B(_+=ijyTe39n+L@H{2bCoSBM2k2vlX}LdGa!@W)pp=D=;Xz9}Rn+KEJoLOnA<~w(
zy6KTI!E(?;RH81y1TW^+CbQ{WZN|xVx#@NW%moWVa=9fL$y$<=yd{UE+rr2337Tez
zlNWi7+c+7EUV4PLHCwCtw&bW>Vab(pz>=%v{gzy<%?Fgqzo>qH!bYyqX+ep`x`{&}
zYN^Idt?x_9XfS}AXkg*X7_jgq+DfjK>n!x)vljZ*em~NK&iPyVJ;?=TF0$l$xq&g$
z9LDa>)va?=Zbp@Mqa`=VF-vZi4~FEpCAY|jEV)&V>HXcXZM`KQ)-&BEAEEmVB?k+i
z#zT73nH(&9Qpc4h(O5WvM;JK$9I;{nKNkLha?9)b=MN7@=Q(g9gdsPR99uE+cORmZDpH%C`H3p
zc539c@Hl!bc~CxX;Yl(=ukx6nJeUEjq
ziT?DInrmDc)xpAoDPq`$mJI$?9^^PwAMiewVQ3kkJm_wfejbmSzP6a9UAjZw6MY&d?%W#N0tcZ8s@i10oHTJ>Yixv1L88yW2sp^!a#Ut&<_0##&jT-xA6d
z&f%n%CbNyQBUvZ6!HC7ewqo{PmA=aE>N17y{8I6~c(BsT<)tN(pAD#zaL)ChRKvpo
z6@u)VlQ~V&Ar6~NX;L|RlaXZvSG1z@3J;63olZ7+)T{MW(A~*w(iDC{yPe|BJ>{u=
zzU8W*+K95&)HLeb4!@cRrk4VBZ5ga>~xjKk*VVb;U?$Y{`S}$=Iwp6nLlGO@g|b*`n_V~6ob2+B>9NS>*4sHow({b=#NQ{D2DW-P)9z#%SmL=EX0T|2fh6bX
z7YlDkQ1p3E09FXT#~1Hno1swWfzzYaU`5=io+eHWI%hW@M(*X?4ET;xt<@e!)mqS*
zo|P8+h!zs2XR&H})~lvxv0-|auBK;=!Meuv4*=CT^pa&!3RskaiFsfxTntf-h+QNY9#7`uh&a|@U(@hSayU$7rjA2$+j$4*S5czV`)MA@#P
z5Ni?QtOn~a1?w>j4OoKnd5n!%jm`Yog6+6~m|M|=ZP?4%rPzUX&b~$pt9jH4!aR>}
za~2}j3v>*|Q7Yj@{3A8Hgmk}yeRrrH;v@*{BJ$H}dIRY3u@Q>_P1S
zrnU58y3yZ^_{;)k6mWV0XK*Vf&&1^I0%qwLuf*^~0kb(K&pG{=+mACjA?JBRoTnp9
z&U-N#`>42!c+`ujxK^A?6|F%V)!5Dx{cuo{6TT#g9?Xv~Fl^_?B~R|MLmEqNa8dc
z#2L5@3z4F*owRwHc6F(=%Xy3p#m-TE{F36UZ>}%&s2(gEz;a4-P5~>1ln^my>c&Vu
zu0`}KlZRLFu6Lh;{Z!ikR<^|OSMRqEs|q+*wJdMPWR0is0#-`_=h4)|Vb}Pp!5|43
z?6q8p*B7vkREWu00qdz70=yfY9lanrv49Qqms8R*t7WtT@rDvw0gqN78X>84l(&qe
zL`e-HQ6#fcekh71@$*Ya@klC`#Bgm1t&PKInU!I*HpVxV(AwzH+8C3ENvpw^Yx6K#
zW@Q+y&G9WIv^IORHkZ?CjBhPqTT!Kr9!w+E5Q(meGT?0Q!H#lv7jUJ3ootnSQxTPG
zdh8w1hEPl@qEicK?!hkFh>N@87nU&DwnrOcxFs4jTw0Xd-X63JU|&o8qF~hO
z!^H($VpdAc(8?8h`=#u{1=#G!q^$?MU@Zl-7v)KKToOFU-k5AQSKH~qeovzP@eU)=
z{`i3cl0_W<4EtkpiHdfu5iRsI4z>j2mo>Fi#8XWzmGRD|ma2HVi4oT=*Gv~z7=thG
zL58CeSu&n18Kt|Ibc@1d%g>tYK{lQ*(NxyMqdXVU%WsK}HkzvNj!-cSnJebX1%u|o
z9O{8tDSB`}x(hg5JS$bG_Ns_Ub2Jvi-Nx91iA|<5kO6mM9PYw&+>LoG2kKc6G~+%7
zz55wc9>8Hn{af|fg+Gt57{
znLrJm4NSu~0t@l2z;Zkn*o@}`7vbB11YQUn#EXH;@!h~td@pblz8|;;KL|XCmja)`
z%YjGnL&kw01zyCD1FzvHfj{A=fj{GC!798O9D|<+XX2N^v+!DQHGUP`f?o&s;`N}7
z-vqOGBX|Se4Bm&|22bF3)b1aOiJo*`!jDa&kLatBA3xK6{H!-o>>9wW9DTS~W6NzEeWVwO!QK4>xSeZv^y+Q)F?cWi5igLBkr|Y5zVe9H^x@84
zELADuclF`!Ud@!0;~pc&;-Ne~WWl|>O~6!EM70>r0(&BF)(rm4$4s1!(^-|B!HR1Z
z%bD4*F^BnjF7h~&{{x$cn+bIX7O(`bCYP`RTgv;kjQRK%q#eL7c|XCu
ZDqO=}KUaGl|D)!8uJHRKe!tx7{~yQ1|BnCw
literal 0
HcmV?d00001
diff --git a/Client_Server_Chat_Room/build/classes/client_server_chat_room/chat_server_return.class b/Client_Server_Chat_Room/build/classes/client_server_chat_room/chat_server_return.class
new file mode 100644
index 0000000000000000000000000000000000000000..0d137f12ebbfcc2a373da7bb3b289bc42856e649
GIT binary patch
literal 2660
zcma)8ZF3V<6n?fzyJ@;mNLy$DZ4rbv&{hyZ(~6W@pfqif)FSv&w#m{iO?Kn%rWEi6
z6;XUa#TTTXe3_AtP8pldfTMnb89&G`@Q*Nz_}txXx-IJXA@|-r=iGD8d7g9b&F_ER
z_yxcYOh>U92P5dK#3m%g&>uw<1C=IC{1{l~xTyv#1K0
z1@5i$bh_Do$kGkxh^0HOR?ca*t&V9DVxC1-HOAUg4vogRxuR1ybZ57O+U5sNZ5d`r
z-DZY+tCPB+4HR;tnl+@3W?gS)TFnltmM*@1Vb~ehZ3$bG>8!39&WNp9lbSV>9#@?a
z%QSQC?#h>1np3b0#vn~esO%os(i7dL!8Ak7;$%tZua_D}%jHLG7nz8=cJp19a@6!h
zznb@tj`mEYwY;O72C*#AiB+I0iIMuqxOtb1I%G^r*kD>?ZNzz0Qw_Tm}@ycUQ8QS_N<89pU{v4|nweV)qvGY(}#byo(Dm-c#^C
zE-Lr{A4*U%x}7G>TH4Vv3O*8wk8w%CCrHTnR6#2~lX00<=sFG7nu5>qg*fs{1zWIH
zn6@c+3JC>YVM@UjvHBVpd5Fhv5@oN
z=t*Y70$&gvE*OSarzPxq2TSBHiehNoGEaH7Rk|%I(1pe=!(%Lwe+#Nx6m`lia0ylZ
zK2d(9igU5+vMlvH@bpc)?
zXY%xMz_gtKHOJ6u=K~4UqX=Ei=QSfEq1BHjs17FUT}^%kb7RCYJ&^=CFRr#M`?~I*
zoG_j86WM}2zNk7T~Y0*JIK?n5<@CFqE
zU3px!2ec_NTAt3DHqnU~{1lhzk{rAm?r0fC6JLzYkkE`U-!Wbo9Lq$%xiediGsJDe
zF~r|CY^U|(Tpgla8Rr%8IY{wX*(^fwEwc#EP*%nl5s0}y>p8CCYt(>hticnMuk!X`
zCwB3R9`Gd3<@G7Ln>u=z5r^lkhngo`Mj#??^g+Uuw&LjE3&T&yi3B9uR%%KNH3
za$b_I-TyPZV5bR9I77?d5beK-s-vDeWe&>*T5n?c(K%FaEn-CxD~pK5YB&^8TSQ%J
z5v#6a^?#VuyQf_d>4w~NcVZdW4>Q$9rnnv(v4Jo)60l9!O@R9d?=dENitwJLW}5PE
z2(5r*2g-SAZ$bw;2}2+MG(1hqGTQIq-ZuAytgj^~K6KA;=Sq~{gCaHF6|*GW#RRv2
z*h%Q(Z*K|F?;)=?5fW)=^{i+Gq&tt+B&8dV->O*3&%w4PKi
zU=w?UpivQ;$F4p=K>q^-5N!{AZ_5&(V;ksYfe@Dq59lAS-OnY$ek2XyUz3brOA(LG
zxMi{(H<(%iKf5znNVkZ8f}@x{eg;rOo1HAnU6gf@kxp{cPutzJ+=CthrV_9mp5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/Client_Server_Chat_Room/nbproject/genfiles.properties b/Client_Server_Chat_Room/nbproject/genfiles.properties
new file mode 100644
index 0000000..ff32b0e
--- /dev/null
+++ b/Client_Server_Chat_Room/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=d351abdd
+build.xml.script.CRC32=4ac8f005
+build.xml.stylesheet.CRC32=8064a381@1.80.1.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=d351abdd
+nbproject/build-impl.xml.script.CRC32=9dcc86d0
+nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48
diff --git a/Client_Server_Chat_Room/nbproject/private/private.properties b/Client_Server_Chat_Room/nbproject/private/private.properties
new file mode 100644
index 0000000..6fb1f4b
--- /dev/null
+++ b/Client_Server_Chat_Room/nbproject/private/private.properties
@@ -0,0 +1,2 @@
+compile.on.save=true
+user.properties.file=C:\\Users\\gogoh\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
diff --git a/Client_Server_Chat_Room/nbproject/private/private.xml b/Client_Server_Chat_Room/nbproject/private/private.xml
new file mode 100644
index 0000000..64192cb
--- /dev/null
+++ b/Client_Server_Chat_Room/nbproject/private/private.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ file:/E:/project/git_hub/Client_Server_Chat_Room/src/client_server_chat_room/Chat_Server.java
+ file:/E:/project/git_hub/Client_Server_Chat_Room/src/client_server_chat_room/chat_server_return.java
+ file:/E:/project/git_hub/Client_Server_Chat_Room/src/client_server_chat_room/chat_Client_GUI.java
+ file:/E:/project/git_hub/Client_Server_Chat_Room/src/client_server_chat_room/Chat_client.java
+
+
+
diff --git a/Client_Server_Chat_Room/nbproject/project.properties b/Client_Server_Chat_Room/nbproject/project.properties
new file mode 100644
index 0000000..4377ca5
--- /dev/null
+++ b/Client_Server_Chat_Room/nbproject/project.properties
@@ -0,0 +1,74 @@
+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.test.classpath=\
+ ${run.test.classpath}
+# 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}/Client_Server_Chat_Room.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+excludes=
+includes=**
+jar.compress=false
+javac.classpath=
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.external.vm=true
+javac.processorpath=\
+ ${javac.classpath}
+javac.source=1.8
+javac.target=1.8
+javac.test.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}
+javac.test.processorpath=\
+ ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+main.class=client_server_chat_room.Client_Server_Chat_Room
+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.test.classpath=\
+ ${javac.test.classpath}:\
+ ${build.test.classes.dir}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
diff --git a/Client_Server_Chat_Room/nbproject/project.xml b/Client_Server_Chat_Room/nbproject/project.xml
new file mode 100644
index 0000000..5da3311
--- /dev/null
+++ b/Client_Server_Chat_Room/nbproject/project.xml
@@ -0,0 +1,15 @@
+
+
+ org.netbeans.modules.java.j2seproject
+
+
+ Client_Server_Chat_Room
+
+
+
+
+
+
+
+
+
diff --git a/Client_Server_Chat_Room/src/client_server_chat_room/Chat_Server.java b/Client_Server_Chat_Room/src/client_server_chat_room/Chat_Server.java
new file mode 100644
index 0000000..5bfa98c
--- /dev/null
+++ b/Client_Server_Chat_Room/src/client_server_chat_room/Chat_Server.java
@@ -0,0 +1,54 @@
+/*
+ * 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 client_server_chat_room;
+import java.io.*;
+import java.net.*;
+import java.util.ArrayList;
+import java.util.Scanner;
+/**
+ *
+ * @author gogoh
+ */
+public class Chat_Server {
+ public static ArrayListConnections=new ArrayList();
+ public static ArrayList Current_users=new ArrayList();
+
+
+
+ public static void main(String[] args) throws Exception
+ {
+ try {
+ final int port=666;
+ ServerSocket Server=new ServerSocket(port);
+ System.out.println("waiting for clints.....");
+ while(true){
+ Socket Sock= Server.accept();
+ Connections.add(Sock);
+ System.out.println("client connected from: "+Sock.getLocalAddress().getHostName());
+ Add_User_Name(Sock);
+ chat_server_return Chat= new chat_server_return(Sock);
+ Thread x=new Thread(Chat);
+ x.start();
+ }
+ } catch (Exception e) {
+ System.out.print(e);
+ }
+ }
+
+ private static void Add_User_Name(Socket Sock) throws Exception {
+ Scanner Input=new Scanner(Sock.getInputStream());
+ String Username=Input.nextLine();
+ Current_users.add(Username);
+
+ for(int i=1;i<=Chat_Server.Connections.size();i++)
+ {
+ Socket temp_sock=(Socket)Chat_Server.Connections.get(i-1);
+ PrintWriter out =new PrintWriter(temp_sock.getOutputStream());
+ out.println("#?!"+Current_users);
+ out.flush();
+ }
+ }
+}
diff --git a/Client_Server_Chat_Room/src/client_server_chat_room/Chat_client.java b/Client_Server_Chat_Room/src/client_server_chat_room/Chat_client.java
new file mode 100644
index 0000000..8454c2b
--- /dev/null
+++ b/Client_Server_Chat_Room/src/client_server_chat_room/Chat_client.java
@@ -0,0 +1,91 @@
+/*
+ * 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 client_server_chat_room;
+import java.io.*;
+import java.net.*;
+import java.util.ArrayList;
+import java.util.Scanner;
+import javax.swing.JOptionPane;
+/**
+ *
+ * @author gogoh
+ */
+public class Chat_client implements Runnable{
+ Socket Sock;
+ Scanner in;
+ Scanner Send=new Scanner(System.in);
+ PrintWriter out;
+
+
+ public Chat_client(Socket Sock) {
+ this.Sock=Sock;
+ }
+
+
+
+
+ public void run(){
+
+ try {
+ try {
+ in=new Scanner(Sock.getInputStream());
+ out=new PrintWriter(Sock.getOutputStream());
+ out.flush();
+ checkstream();
+
+ }
+
+ finally {
+ Sock.close();
+ }
+
+ } catch (Exception e) {
+ System.out.println(e);
+ }
+ }
+
+ private void checkstream() {
+ while (true) {
+ Receive();
+ }
+ }
+
+ private void Receive() {
+ if(in.hasNext())
+ {
+ String message=in.nextLine();
+ if(message.contains("#?!"))
+ {
+ String temp1=message.substring(3);
+ temp1=temp1.replace("[","");
+ temp1=temp1.replace("]","");
+
+ String [] currentuser;
+ currentuser = temp1.split(", ");
+ chat_Client_GUI.jL_online.setListData(currentuser);
+}
+
+else{
+ chat_Client_GUI.TA_connversation.append(message+"\n");
+ }
+
+ }
+ }
+ public void send(String x)
+ {
+ out.println(chat_Client_GUI.username+": "+x);
+ out.flush();
+ chat_Client_GUI.TF_message.setText("");
+ }
+ public void disconnect() throws IOException
+ {
+ out.println(chat_Client_GUI.username+" has disconnected");
+ out.flush();
+ Sock.close();
+ JOptionPane.showMessageDialog(null,"you disconnected");
+ System.exit(0);
+ }
+}
diff --git a/Client_Server_Chat_Room/src/client_server_chat_room/chat_Client_GUI.java b/Client_Server_Chat_Room/src/client_server_chat_room/chat_Client_GUI.java
new file mode 100644
index 0000000..2c5ec36
--- /dev/null
+++ b/Client_Server_Chat_Room/src/client_server_chat_room/chat_Client_GUI.java
@@ -0,0 +1,301 @@
+/*
+ * 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 client_server_chat_room;
+
+import java.awt.event.ActionEvent;
+import java.io.PrintWriter;
+import java.net.Socket;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.ScrollPaneConstants;
+import javax.swing.SwingConstants;
+
+/**
+ *
+ * @author gogoh
+ */
+public class chat_Client_GUI {
+ public static Chat_client chatclient;
+ public static String username="Anonymous";
+
+ public static JFrame Mainwindow=new JFrame();
+ private static JButton B_about=new JButton();
+ private static JButton B_connect=new JButton();
+ private static JButton B_disconnection=new JButton();
+ private static JButton B_Help=new JButton();
+ private static JButton B_send=new JButton();
+ private static JLabel l_Message=new JLabel("Messasge:.....");
+ public static JTextField TF_message=new JTextField();
+ private static JLabel L_conversation=new JLabel();
+ public static JTextArea TA_connversation=new JTextArea();
+ private static JScrollPane SP_converstion=new JScrollPane();
+ private static JLabel L_online=new JLabel();
+ public static JList jL_online=new JList();
+ private static JLabel L_login=new JLabel();
+ private static JLabel L_loginasbox=new JLabel();
+ private static JScrollPane SP_online=new JScrollPane();
+
+ public static JFrame loginwindow=new JFrame();
+ public static JTextField usernamebox=new JTextField(20);
+ private static JButton B_enter=new JButton("enter");
+ private static JLabel L_enterusernmae=new JLabel("enter username: ");
+ private static JPanel p_login=new JPanel();
+
+
+ public static void main(String args[])
+ {
+ Build_main_window();
+ initialize();
+ }
+ public static void connect()
+ {
+ try {
+ final int port=666;
+ final String host="Galactica";
+ Socket Sock=new Socket(host, port);
+ System.out.println("you connected to: " +host);
+ chatclient =new Chat_client(Sock);
+
+ PrintWriter out=new PrintWriter(Sock.getOutputStream());
+ out.println(username);
+ out.flush();
+
+ Thread x=new Thread(chatclient);
+ x.start();
+
+ } catch (Exception e) {
+ System.out.println(e);
+ JOptionPane.showMessageDialog(null,"server isnt responding..");
+ System.exit(0);
+ }
+
+ }
+ public static void initialize(){
+ B_send.setEnabled(true);
+ B_disconnection.setEnabled(false);
+ B_connect.setEnabled(true);
+ }
+ private static void Build_main_window() {
+ Mainwindow.setTitle(username+"s chat");
+ Mainwindow.setSize(450,500);
+ Mainwindow.setLocation(220,180);
+ Mainwindow.setResizable(false);
+
+ config_main_window();
+ main_window_action();
+
+ Mainwindow.setVisible(true);
+
+ }
+ public static void Build_login_window()
+ {
+ loginwindow.setTitle("what is your name");
+ loginwindow.setSize(400,100);
+ loginwindow.setLocation(250,200);
+ loginwindow.setResizable(false);
+ p_login=new JPanel();
+ p_login.add(L_enterusernmae);
+ p_login.add(usernamebox);
+ p_login.add(B_enter);
+ loginwindow.add(p_login);
+
+ login_action();
+ loginwindow.setVisible(true);
+
+ }
+
+ private static void login_action() {
+ B_enter.addActionListener(new java.awt.event.ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Action_B_enter();
+ }
+
+ private void Action_B_enter() {
+ if(!usernamebox.getText().equals(""))
+ {
+ username =usernamebox.getText().trim();
+ L_loginasbox.setText(username);
+ Chat_Server.Current_users.add(username);
+ Mainwindow.setTitle(username +"s chat box");
+ loginwindow.setVisible(false);
+ B_send.setEnabled(true);
+ B_disconnection.setEnabled(true);
+ B_connect.setEnabled(false);
+ connect();
+ }
+ else
+ {
+ JOptionPane.showMessageDialog(null,"please enter your name: ");
+ }
+ }
+ });
+ }
+
+
+ private static void config_main_window() {
+ Mainwindow.setBackground(new java.awt.Color(255,255,255));
+ Mainwindow.setSize(500,320);
+ Mainwindow.getContentPane().setLayout(null);
+
+ B_send.setForeground(new java.awt.Color(255,255,255));
+ B_send.setBackground(new java.awt.Color(0,0,255));
+ B_send.setText("SEND");
+ Mainwindow.getContentPane().add(B_send);
+ B_send.setBounds(250,40,81,25);
+
+ B_disconnection.setForeground(new java.awt.Color(255,255,255));
+ B_disconnection.setBackground(new java.awt.Color(0,0,255));
+ B_disconnection.setText("disconnect");
+ Mainwindow.getContentPane().add(B_disconnection);
+ B_disconnection.setBounds(10,40,110,45);
+
+ B_connect.setForeground(new java.awt.Color(0,0,255));
+ B_connect.setBackground(new java.awt.Color(255,255,255));
+ B_connect.setText("connect");
+ Mainwindow.getContentPane().add(B_connect);
+ B_connect.setBounds(130,40,110,45);
+
+
+ B_Help.setForeground(new java.awt.Color(0,0,255));
+ B_Help.setBackground(new java.awt.Color(255,255,255));
+ B_Help.setText("help");
+ Mainwindow.getContentPane().add(B_Help);
+ B_Help.setBounds(420,40,70,45);
+
+ B_about.setForeground(new java.awt.Color(0,0,255));
+ B_about.setBackground(new java.awt.Color(255,255,255));
+ B_about.setText("about");
+ Mainwindow.getContentPane().add(B_about);
+ B_about.setBounds(420,40,70,45);
+
+ l_Message.setText("Message:....");
+ Mainwindow.getContentPane().add(l_Message);
+ l_Message.setBounds(10,10,60,20);
+
+ TF_message.setForeground(new java.awt.Color(0,0,255));
+ TF_message.requestFocus();
+ TF_message.setText("about");
+ Mainwindow.getContentPane().add(TF_message);
+ TF_message.setBounds(70,4,260,30);
+
+ L_conversation.setHorizontalAlignment(SwingConstants.CENTER);
+ L_conversation.setText("conversation");
+ Mainwindow.getContentPane().add(L_conversation);
+ L_conversation.setBounds(100, 70, 140, 16);
+
+ TA_connversation.setColumns(20);
+ TA_connversation.setFont(new java.awt.Font("Tahoma", 0, 12));
+ TA_connversation.setForeground(new java.awt.Color(0,0,255));
+ TA_connversation.setLineWrap(true);
+ TA_connversation.setRows(5);
+ TA_connversation.setEditable(false);
+
+ //SP_converstion.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
+ //SP_converstion.setHorizontalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
+ SP_converstion.setViewportView(TA_connversation);
+ Mainwindow.getContentPane().add(SP_converstion);
+ SP_converstion.setBounds(10, 90, 330, 180);
+
+ L_online.setHorizontalAlignment(SwingConstants.CENTER);
+ L_online.setText("curruntly online");
+ L_online.setToolTipText("");
+ Mainwindow.getContentPane().add(TF_message);
+ L_online.setBounds(350,70,130,16);
+
+ String [] textname={"george","andrew","bavly","maria"};
+ jL_online.setForeground(new java.awt.Color(0,0,255));
+ jL_online.setListData(textname);
+
+ //SP_online.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+ //SP_online.setHorizontalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
+ SP_online.setViewportView(jL_online);
+ Mainwindow.getContentPane().add(SP_online);
+ SP_online.setBounds(350,90,130,180);
+
+ L_login.setFont(new java.awt.Font("Tahoma", 0, 12));
+ L_login.setText("currently logged in as: ");
+ Mainwindow.getContentPane().add(L_login);
+ L_online.setBounds(348,0,140,15);
+
+ L_loginasbox.setHorizontalAlignment(SwingConstants.CENTER);
+ L_loginasbox.setFont(new java.awt.Font("Tahoma", 0, 12));
+ L_loginasbox.setForeground(new java.awt.Color(255,0,0));
+ L_loginasbox.setBorder(BorderFactory.createLineBorder(new java.awt.Color(0,0,255)));
+ Mainwindow.getContentPane().add(L_loginasbox);
+ L_loginasbox.setBounds(340,17,150,20);
+
+ }
+
+ private static void main_window_action() {
+ B_send.addActionListener(new java.awt.event.ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Action_B_Send();
+ }
+
+ private void Action_B_Send() {
+ if(!TF_message.getText().equals(""))
+ {
+ chatclient.send(TF_message.getText());
+ TF_message.requestFocus();
+ }
+ }
+ });
+ B_disconnection.addActionListener(new java.awt.event.ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Action_B_disconnect();
+ }
+
+ private void Action_B_disconnect() {
+ try {
+ chatclient.disconnect();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ B_connect.addActionListener(new java .awt.event.ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Action_B_connect();
+ }
+
+ private void Action_B_connect() {
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+ }
+ });
+ B_about.addActionListener(new java .awt.event.ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Action_B_about();
+ }
+
+ private void Action_B_about() {
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+ }
+ });
+ B_Help.addActionListener(new java .awt.event.ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Action_B_help();
+ }
+
+ private void Action_B_help() {
+ JOptionPane.showMessageDialog(null,"multi-client chat george 2019 ");
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/Client_Server_Chat_Room/src/client_server_chat_room/chat_server_return.java b/Client_Server_Chat_Room/src/client_server_chat_room/chat_server_return.java
new file mode 100644
index 0000000..37ca131
--- /dev/null
+++ b/Client_Server_Chat_Room/src/client_server_chat_room/chat_server_return.java
@@ -0,0 +1,85 @@
+/*
+ * 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 client_server_chat_room;
+import com.sun.security.ntlm.Client;
+import java.io.*;
+import java.net.*;
+
+import java.net.Socket;
+import java.util.Scanner;
+
+/**
+ *
+ * @author gogoh
+ */
+class chat_server_return implements Runnable{
+ Socket Sock;
+ private Scanner in;
+ private PrintWriter out;
+ String message="";
+
+ chat_server_return(Socket x) {
+ this.Sock=x;
+ }
+
+ public void CheckConn()throws IOException
+ {
+ if(!Sock.isConnected()){
+ for(int i=0;i<=Chat_Server.Connections.size();i++)
+ {
+ if(Chat_Server.Connections.get(i)==Sock)
+ {
+ Chat_Server.Connections.remove(i);
+ }
+ }
+ for(int i=1;i<=Chat_Server.Connections.size();i++)
+ {
+ Socket temp_sock=(Socket)Chat_Server.Connections.get(i-1);
+ PrintWriter temp_out=new PrintWriter(Sock.getOutputStream());
+ temp_out.println(temp_sock.getLocalAddress().getHostName()+"disconnected");
+ temp_out.flush();
+ System.out.println(temp_sock.getLocalAddress().getHostName()+"disconnected");
+ }
+ }
+ }
+
+
+ @Override
+ public void run() {
+ try {
+ try {
+ in=new Scanner(Sock.getInputStream());
+ out=new PrintWriter(Sock.getOutputStream());
+
+ while(true)
+ {
+ CheckConn();
+ if(!in.hasNext())
+ {
+ return;
+ }
+ message=in.nextLine();
+ System.out.println("client said:" +message);
+ for(int i=1;i<=Chat_Server.Connections.size();i++)
+ {
+ Socket temp_sock=(Socket) Chat_Server.Connections.get(i-1);
+ PrintWriter temp_out=new PrintWriter(temp_sock.getOutputStream());
+ temp_out.println(message);
+ temp_out.flush();
+ System.out.println("sent to: "+temp_sock.getLocalAddress().getHostName());
+ }
+ }
+ }
+ finally{
+ Sock.close();
+ }
+ } catch (Exception e) {
+
+ System.out.println(e);
+ }
+ }
+
+}