From 5daf0cf61e4165f4024f276515184b004e26260d Mon Sep 17 00:00:00 2001 From: Brendan Date: Tue, 20 Jan 2015 11:17:36 -0700 Subject: [PATCH] adds TCP/IP example code --- GroundStation/README.md | 4 ++-- TCPexample/Client.class | Bin 0 -> 1048 bytes TCPexample/Client.java | 23 ++++++++++++++++++++ TCPexample/Server.class | Bin 0 -> 1764 bytes TCPexample/Server.java | 47 ++++++++++++++++++++++++++++++++++++++++ TCPexample/client | Bin 9388 -> 0 bytes TCPexample/server | Bin 9240 -> 0 bytes TCPexample/server2.c | 1 + 8 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 TCPexample/Client.class create mode 100644 TCPexample/Client.java create mode 100644 TCPexample/Server.class create mode 100644 TCPexample/Server.java delete mode 100755 TCPexample/client delete mode 100755 TCPexample/server diff --git a/GroundStation/README.md b/GroundStation/README.md index b2acb7e..f4f2650 100644 --- a/GroundStation/README.md +++ b/GroundStation/README.md @@ -3,6 +3,6 @@ Ground Station Acknowledgements: ----------------- -SmartScroller class found at: - [https://tips4java.wordpress.com/2013/03/03/smart-scrolling/](https://tips4java.wordpress.com/2013/03/03/smart-scrolling/) +SmartScroller class found at: + [https://tips4java.wordpress.com/2013/03/03/smart-scrolling/](https://tips4java.wordpress.com/2013/03/03/smart-scrolling/) source: [http://www.camick.com/java/source/SmartScroller.java](http://www.camick.com/java/source/SmartScroller.java) \ No newline at end of file diff --git a/TCPexample/Client.class b/TCPexample/Client.class new file mode 100644 index 0000000000000000000000000000000000000000..21fd188fcc2a3633a9d83518eba0587a0594ae07 GIT binary patch literal 1048 zcmZuw+fvg|6kVsZO&Y?jrGO|JyiqQ;QW3d{N-a_?>QL0FK856ffi~&1Dax<-13cqH zJ7Y&bz(@ba2gQ97kdD%s?z3-aU)EXq{`<=}0BPhE#Boi+bs0Al1aMQrn1qB-#}$Mz zp&*3G2&QmLMp8ivw}od~h_o>8$e0nvT?w-??n#)FFwYQPvTVy;X6Q(azh($#9FsHj z4P7RAM`f~y;Q>w3k@r#Zd( z7N{A6QgG^3gRfemP-muOaobIbDk=srNZq`OHg{76$Jpa8gE~E*PEOCxC1>amS&P)# z%d(u*N_~5qSGl>tb(2>aE}RB(cBSspOk6MfF%?U=FRm{O@j${u6_2pO5Z&MgxAwWI z)w~rJGy*fD;xV!+R`Eo|8geS0BFhjMQ&c+O5(2B8hfE4)t4{uK3+r7ixw*43e6XSj=A<`Bg zpoUIr{1XsWVrL;AA@A+lrYjuOTwW$NICYva{N4JtEfY$NCPT=7k+2`^am!Mr4W7gkppwI!Vgtq9HWW6Qrfl xO|-4) literal 0 HcmV?d00001 diff --git a/TCPexample/Client.java b/TCPexample/Client.java new file mode 100644 index 0000000..ded6630 --- /dev/null +++ b/TCPexample/Client.java @@ -0,0 +1,23 @@ +import java.lang.*; +import java.io.*; +import java.net.*; + +class Client { + public static void main(String args[]) { + try { + Socket skt = new Socket("192.168.42.1", 1234); + BufferedReader in = new BufferedReader(new + InputStreamReader(skt.getInputStream())); + System.out.print("Received string: '"); + + while (!in.ready()) {} + System.out.println(in.readLine()); // Read one line and output it + + System.out.print("'\n"); + in.close(); + } + catch(Exception e) { + System.out.print("Whoops! It didn't work!\n"); + } + } +} \ No newline at end of file diff --git a/TCPexample/Server.class b/TCPexample/Server.class new file mode 100644 index 0000000000000000000000000000000000000000..f3ef10a77868cb9d643e60119def26dbbf3d5a61 GIT binary patch literal 1764 zcmZuxSx*~R6#g!Fe1~CJV#4Aq&5)$Q5SE6nK$@ly(zs|*QIz@#U#fR#|;hBxT&ET?`hC*iz6*H?`vqo2P$Ty za#o5tj(H887*lauK0j2kAfFi(iyA({9TiI|?yAVj&}AuBWE_cUDHN=5e5~RVj!!v0 zV~Ah19Xq(j(3tAK!w{QtEy2(>V>@E5R9F?>qPdzUO{`$r4ntRJWoFadHb?TNvp$ju zJlk2Hkby0kz|3vUn#Itc<8x}3!wkDibF5NU1})>3yqvgcOT^}k@V13FEa7zYV}K*4 z!vdKS84(18Y?O+IA9`sVYdY4k!O$7zcSJA}0c70VmIx$*tz#2gRAgi@Hca2hxsD@p zfv|ctGK8VFJ2F{XTN9qJ7KCXDk0Dtzq@7|Zptgirh-}n@jywty-;u&)=%{($ruKs+ z&klsAqlkObPH5dbrX7~Q=6Xg!_`bO=hKGkW9X_bg61K@F#HeF&vSjDOS`yU=!xK4S zZwqVO(6NL242%$VWw3T5otc`So130mBx-ehfiD?aE!(elOVm-fCo;mZB#VAHrg5W> zp`nj3zQTr%uQ5>TB&=fkeohnv+od7*EN!@M(eE|VfnnK}(-#;!uD2x_j7QWmv>(<# zzq&~b6WB4UL8}xxhT{qcbtE)eprfi?KM)1lN4G?nozb?@$U?58$xPG=KdNR>igF+n zl{$V&W2v;<)wr3Hy%I{QKXN=QkFZMewR>JZ|HWm)1Yw4>H;cyE^(RQV<^EyKwgVBK;NSllcYX&)Gd zjw9!Pd{x(x0@c8+jVUhfmCU^V0>RPzC;F)j9u6Q+JEY|Dt}kGqk3NI)*Fb-|4AYrh*?08Oij(cnhiFJNmJ!>Bl1;=b;4_!YP-msO zDO79OeKcnW%g`%msi1XkA8qorJyyYq@tAZ>kmFDp9X}(!ckmaTPL3<2-$!S*g04h& z89hmbL?TI|j8o*ER1&AlIP())CBRwI>|wAj=B4K`=MG~istjZA;KyXFj9$ufp6a+j z^WwpcfBu9>3xO9^oP$6Y6icgeOG%QyRnXG=M*d(-F#W1^j>j6^>Up mu5gTUyvp$!z?=TT7{}{>BXvMI897MtMiZ6#CIvR&t^WYTgsR>E literal 0 HcmV?d00001 diff --git a/TCPexample/Server.java b/TCPexample/Server.java new file mode 100644 index 0000000..fbd1eda --- /dev/null +++ b/TCPexample/Server.java @@ -0,0 +1,47 @@ +import java.lang.*; +import java.io.*; +import java.net.*; + +/** + * Echo server. if receives "DISCONNECT", will shut down server properly + */ +class Server { + public static void main(String args[]) { + ServerSocket srvr; + Socket skt; + BufferedReader in; + PrintWriter out; + + try { + System.out.print( "Setting up server\n" ); + srvr = new ServerSocket( 51717 ); + skt = srvr.accept(); + System.out.print( "Server has connected!\n" ); + + in = new BufferedReader( new InputStreamReader( skt.getInputStream() ) ); + out = new PrintWriter( skt.getOutputStream(), true); + + while( true ) { + System.out.print( "waiting for message...\n" ); + while( !in.ready() ) {} + String rx = in.readLine(); + System.out.print( "message received: " + rx + "\n" ); + + if( rx.equals( "DISCONNECT" ) ) { + System.out.print( "disconnecting\n" ); + break; + } + + System.out.print("Sending string: '" + rx + "'\n"); + out.println( rx ); + } + out.close(); + in.close(); + skt.close(); + srvr.close(); + } + catch(Exception e) { + System.out.print("Whoops! It didn't work!\n"); + } + } +} \ No newline at end of file diff --git a/TCPexample/client b/TCPexample/client deleted file mode 100755 index 923b6aa88cb86ab3f8ad440ea7ed6beb97e67c31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9388 zcmeHNe{38_6`o5P;<%ybKng`rv4k3#wu+OAMi$`8Ev_w@bhe#KaG&C)(2)|TSqCy5iyQzu<0wlKro9~;Q zz1(e@_7DC-+R@Ft_sx6rX6DVjy}g;c_{LvXHwqD3FT~tBAw(DQ#0DX%LIWqn`;c{H z!x$a>Ok#gxY!7SOQ>-1nDWaVobYK|ciGAbkDzZI0ZcPefYy!g(?@%(su+55nSut#H zpc9jU_)$!ViTE0y^~-C-Tq`t;l3kuGHLJq*{`^kg-h|Q!aL}Mb*}FVG+A}g{u4r0N z3fmjH&bN1586c+Lo9T-2rAoGy%}*0;+KYDW{k9zoG}C3Zf{xHyFoP~R!h@rrpa@k^kD%FV`y-EuvslP zX4^gq_Djn?q20i?VdQg0X?A9^kTZ(5bya(T8E*WbEqmp9Hf7)qW4h3??XIxb1!aye zm?v@A-n$?Vl40bMZ#BLiWp7S3Aa1qCxVSzr26{P8M~3gdD={=2#F*xft2r59rXQ=I zpdIN~Su4agJO_4=*M#T*=>Q!C4bnbMh`#~oAHq6;a&K_X3&5l&J}krv=(Wf}JKAUF z_}T4N9Bfw0zAX83E+fj-<5P2Z-!2hcUKBqf>(eHn)OLq>h=Ri>f5zE(d-{obC$UNvvF`zO=fwMn$LbA~@Yy{1wQ&1pKCm z*KR|p*KXg92QS(lkZt>Pw@N+T?K&>Jk)SiDdIFW+4&bIjrOWG}oR9C*=wF;d7EbjU zYVLx>sXi}zWJyuH#;3ks>;DIY-nKRNqB^T|crU|_?o>}gS)Xr^$Tn4cgK(6;lU;8( zF9+L)u^orLbc9nq4rTAVY+p-wr`b$DCBKx&IcIg}A`JhKO5cLg(}_##(6Q{u9k@Yv zIcG}s4KR-R)ubqO&sN=e+PeiUhFm$Rbiz417+-qbdj+$V9q6^)UVLdK?ckGm)opO5 zy7NnK9UAp>9L*`;%qjO$T^06J}JM^Aslv|)t$xy z1S8HxXYu=BoEJu%b58XbtvR(ii1!n@{xz!U?iSr`u-28@-aKW#ZGVJL<3ZV!UYV0z ztpeg5fuifn+(p*t&N*)umCgmHaUOVHmTmL;8Yba={y)$?CD)77sZ}`-e;s}r%tLoB z=*~k$Y4sQAI0MdGfx7aVyT}^dl`7ufA$W^kHTL?)e?!04za6|@TV$7T>XS{2PIZc1 ze3>J1Z-0PV?k@ckQt-ow@I+`darLu)fwkAj>;tIV8(Z%Tkx+XJt7e%e!ScD$6lh zj?401S?-hNep!AIRC&O2qOD~bTiQI3TdQ{;Y4Za=wYa--nN zrR21!b(geEp=9Ur(?u&5EW1-A#>V!HX@#Ph$L}qzR7f2(ZNKtXEnm<|4DXj%1wX}tckS3$#zd^r73&x@<8N)$ODlFA`e6!h&*sL4{X`iGr^3Kr2^jIi1M2qBMTD612w!y3S2653YI%u~8R$WtBmffO_FKZW(i zOa=orQ)S!4e*lv7N{`>!tux7NUhL%g&3bWWD~e^F&79e)E%UDVjX!M0`L?_oZ9AQz z{&lE1qyC4$wTj35!(%G)SS=1F_}>HX7m0bFNjVSOK*`GVDU_}F-VjcP@WBw~ab;`! zN(g^FgpY*q(GY$pgdYjv$3vJ$e69UALipz){9FkCHiUm4!hZ^3p1AWKcM~$Nh_6NF zEdh_+a5N?GcLsT%y9Jc@`|n2Px?Yd`9_05TBMoqIxz4t@bsDMm$CbInTp!eX(MwOqQ3mfLD2L7irI@3@2W#huyQjilM? zLbqvPpbvsVgbK<&uuxXTHKlT;A|?6}5@ONE2nIq0YtT;5bMCo1b2r2K)1Q0rocDd+ z^PcCt^WJluJLl}tKYkgzOo+$?AqtlWA(~Jhog{=K3}`}JjcTGw*|F;Gwujm}*U?&E zBK7cZ5qaig0x37NZQM}rqQ-OL+M+RH69`9Ks{5qOTmAX-j^p?)$A>}pulz79z!N>q zYbT0AEtE2s@9WB)GX?p6yTar1L-w&hph5GUkB@w^*GgtB8%{w!bE?PpnkFFjLsh16 z@pb3&b|Sq=`v>`c(0uRde&X6v$Bhmt`_fwy=^mL#$1@7oKaUrqUVMD!EW|+$ug7bp zw0dRSj-@Og*Ylm!e6#c*Vyv|b7Os;PJU}T|uiCJx#trMCZk_n+rDmOw*XNcpos_wO zR97Y`vw8c1d_D~qzCV_;@_E*#Qp!!4nq@bRuL z;#xlLi|MMzYtHY}we9z=X>Z6`WVS;)`I_&Mz~)C-k^2*CK8PCg6Tr=TwC z%h`*PiLOOG1IZp>mTOQM$D20}PHi7p`L( z^KzWQfNKipX+dS5xBiC_dgT1vn1B61E^nn4-nkHQB)Yu8^B_21$80ZuH)*^PnB^8! z_7jskEMW%141^g7Gw}ap;C|En(R})Jlj&|9HH%wED>Lvd^-%=DRQL*6R{evg3$U2Q zNhk0fU>1exwvCQBUyN0&4B8z&0?l-HAA}fGfZrI=624o6S-N#A7%_H-8r!l{RJNmA zP2oCkVMygUVh%aLdH11uKCZK0F|wsGTH?2oSz56gjFmg9)#?G7&3)<%PIWma;cL1h z6%%}B(P2ntvA>~m6|n2<0zB+|hxU>Y=LZOmFDi4~Jro@}TiK5g6yMsC;))KPiM#mc zd=Ky9Fhg1E92w-p?GE~Za0LFIjPAK>e{=c(At(n~vGHcO>r5F-u&1NK}@_efkWjI`)3Dcfe}yQyu6uOU@Y>ycF!kSF3KQ(9P0rPKihOy9(gexis$c-^08q zT<3Yt`6E33f%;F(TzL}I-k?eW?p{V*=UI-=aE9U)NzPE5Y~Fs)sOvm~j;O;|p*^U= z9Q=gq^5Kswe5;8^uU{<$*K6Dzjk|4Q(V?wlhkkB|4&5_$=xoE}qcBH@4nF*Gx!ODr ztkq`z9;-Irtl9;tU8vf{s$HtuWvabRwJoY$uG%|PyHd5SXxEmm+lyFMt*zA=*oiz@@)@54K_h?ST2z)=i8QMh>tztE{4L5to$uCDFtW+t2p)~N ziVi4|$2&!&zbVo*<+6q{C%DM65vz^vU0No!d`!!Nmd|PVqL$mVd`rs@wcM}eVJ(ko zd0fkj3@daCGZ1DV%s`ldFau!*!VH8N2s037Ak09RfiMGM2L43`rp+-Pq5HH}$*b^K z_h#AMyIF4Pi`hNmKD(*x*?TP8&Wds?Z`{<4x#Z~xZnz64aloQVgr_mWHUdoXSRyIP z!k!PiK0pClOq9+? zS*aXOZ-9D%aQSX$Y@#gDxpDnKJh@>{Ap)QeeE^>&oiRXLN3sSK}S}ft2%mh)GiDvsu=!KcaP9A{%abgMuk6-FeTj)O(mSg(w3V0G4 zjj;6`=PHZ__mLdP`@$#`-cJ%QL4~BM%3Ww{@dE)I3*bZm^O&)Ad|v=R5x_irtMxAi z@CyO_Y5>0;!0!a`2La4OyxRE=1~3lQ1@EvMP$#3}mRH?9^Q4@|V>nh4_>%*5=gNC$ zp4DE7s?Wt*`H*MY*IQzmcE p`J2YuF5X7bTg2NO=eC8vA^ff2Zvub$dkf!R@p`F`+tA1b%U{NvN2>q; diff --git a/TCPexample/server2.c b/TCPexample/server2.c index 833ea53..d7ab309 100644 --- a/TCPexample/server2.c +++ b/TCPexample/server2.c @@ -3,6 +3,7 @@ // From: // http://www.linuxhowtos.org/C_C++/socket.htm +// commented for reference #include #include