From 5e49cb875b38409d6794101f4feea0434c98d6e4 Mon Sep 17 00:00:00 2001 From: zeus Date: Wed, 17 Nov 2021 12:06:48 +0200 Subject: [PATCH] add pthread --- .../project/courses/pthread/getfiles.tar.gz | Bin 0 -> 9104 bytes .../sec/project/courses/sockets/c/client | Bin 0 -> 13008 bytes .../sec/project/courses/sockets/c/client.c | 71 +++++++++++++ .../sec/project/courses/sockets/c/make-client | 2 + .../sec/project/courses/sockets/c/make-server | 2 + .../sec/project/courses/sockets/c/server | Bin 0 -> 13088 bytes .../sec/project/courses/sockets/c/server.c | 99 ++++++++++++++++++ .../project/courses/sockets/sockt-c.tar.gz | Bin 0 -> 6161 bytes 8 files changed, 174 insertions(+) create mode 100644 install/usr/share/swarmlab.io/sec/project/courses/pthread/getfiles.tar.gz create mode 100755 install/usr/share/swarmlab.io/sec/project/courses/sockets/c/client create mode 100644 install/usr/share/swarmlab.io/sec/project/courses/sockets/c/client.c create mode 100755 install/usr/share/swarmlab.io/sec/project/courses/sockets/c/make-client create mode 100755 install/usr/share/swarmlab.io/sec/project/courses/sockets/c/make-server create mode 100755 install/usr/share/swarmlab.io/sec/project/courses/sockets/c/server create mode 100644 install/usr/share/swarmlab.io/sec/project/courses/sockets/c/server.c create mode 100644 install/usr/share/swarmlab.io/sec/project/courses/sockets/sockt-c.tar.gz diff --git a/install/usr/share/swarmlab.io/sec/project/courses/pthread/getfiles.tar.gz b/install/usr/share/swarmlab.io/sec/project/courses/pthread/getfiles.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e95a5c6d84695786a63047d62554196cc4cc6673 GIT binary patch literal 9104 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 literal 0 HcmV?d00001 diff --git a/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/client b/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/client new file mode 100755 index 0000000000000000000000000000000000000000..811d0427f4e9fe442aaa950380264fe6551ef26d GIT binary patch literal 13008 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 +#include +#include +#include +#include +#include +#include +#include +#include + + + +#define MAX 80 +#define PORT 3033 +#define SA struct sockaddr +void func(int sockfd) +{ + char buff[MAX]; + int n; + for (;;) { + bzero(buff, sizeof(buff)); + printf("Enter the string : "); + n = 0; + while ((buff[n++] = getchar()) != '\n') + ; + write(sockfd, buff, sizeof(buff)); + bzero(buff, sizeof(buff)); + read(sockfd, buff, sizeof(buff)); + printf("From Server : %s", buff); + if ((strncmp(buff, "exit", 4)) == 0) { + printf("Client Exit...\n"); + break; + } + } +} + +int main() +{ + int sockfd, connfd; + struct sockaddr_in servaddr, cli; + + // socket create and varification + sockfd = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd == -1) { + printf("socket creation failed...\n"); + exit(0); + } + else + printf("Socket successfully created..\n"); + bzero(&servaddr, sizeof(servaddr)); + + // assign IP, PORT + servaddr.sin_family = AF_INET; + servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); + servaddr.sin_port = htons(PORT); + + // connect the client socket to server socket + if (connect(sockfd, (SA*)&servaddr, sizeof(servaddr)) != 0) { + printf("connection with the server failed...\n"); + exit(0); + } + else + printf("connected to the server..\n"); + + // function for chat + func(sockfd); + + // close the socket + close(sockfd); +} + diff --git a/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/make-client b/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/make-client new file mode 100755 index 0000000..596dbf1 --- /dev/null +++ b/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/make-client @@ -0,0 +1,2 @@ + + gcc -pthread ./client.c -o client ; diff --git a/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/make-server b/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/make-server new file mode 100755 index 0000000..0d42873 --- /dev/null +++ b/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/make-server @@ -0,0 +1,2 @@ + + gcc -pthread ./server.c -o server ; diff --git a/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/server b/install/usr/share/swarmlab.io/sec/project/courses/sockets/c/server new file mode 100755 index 0000000000000000000000000000000000000000..cd23c05e4a4fa0f32f08fe567dc6d80a0739cf78 GIT binary patch literal 13088 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 Jtf;8l{@>;cm +#include +#include +#include +#include +#include +#include +#include + + + +#define MAX 80 +#define PORT 3033 +#define SA struct sockaddr + +// Function designed for chat between client and server. +void func(int sockfd) +{ + char buff[MAX]; + int n; + // infinite loop for chat + for (;;) { + bzero(buff, MAX); + + // read the message from client and copy it in buffer + read(sockfd, buff, sizeof(buff)); + // print buffer which contains the client contents + printf("From client: %s\t To client : ", buff); + bzero(buff, MAX); + n = 0; + // copy server message in the buffer + while ((buff[n++] = getchar()) != '\n') + ; + + // and send that buffer to client + write(sockfd, buff, sizeof(buff)); + + // if msg contains "Exit" then server exit and chat ended. + if (strncmp("exit", buff, 4) == 0) { + printf("Server Exit...\n"); + break; + } + } +} + +// Driver function +int main() +{ + int sockfd, connfd, len; + struct sockaddr_in servaddr, cli; + + // socket create and verification + sockfd = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd == -1) { + printf("socket creation failed...\n"); + exit(0); + } + else + printf("Socket successfully created..\n"); + bzero(&servaddr, sizeof(servaddr)); + + // assign IP, PORT + servaddr.sin_family = AF_INET; + servaddr.sin_addr.s_addr = htonl(INADDR_ANY); + servaddr.sin_port = htons(PORT); + + // Binding newly created socket to given IP and verification + if ((bind(sockfd, (SA*)&servaddr, sizeof(servaddr))) != 0) { + printf("socket bind failed...\n"); + exit(0); + } + else + printf("Socket successfully binded..\n"); + + // Now server is ready to listen and verification + if ((listen(sockfd, 5)) != 0) { + printf("Listen failed...\n"); + exit(0); + } + else + printf("Server listening..\n"); + len = sizeof(cli); + + // Accept the data packet from client and verification + connfd = accept(sockfd, (SA*)&cli, &len); + if (connfd < 0) { + printf("server acccept failed...\n"); + exit(0); + } + else + printf("server acccept the client...\n"); + + // Function for chatting between client and server + func(connfd); + + // After chatting close the socket + close(sockfd); +} + diff --git a/install/usr/share/swarmlab.io/sec/project/courses/sockets/sockt-c.tar.gz b/install/usr/share/swarmlab.io/sec/project/courses/sockets/sockt-c.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..971d855d970a6103e2ff333bfa1e0b7d9ee8444d GIT binary patch literal 6161 zcmY+HXE+;R*T<<QMRL!C`RjalbMQiUFd)F#8YilX06g4V{nl)23LXB9p zVnvLEjJMC1_kEua_kGT}@85OKxBvA&d}%jH@HEv9BxHwnw1KumVP$rsErKttqKYlR z&JT2ktq=DzGU8t3Z^>q-e|6~}aP9fib6?W_upScPHNG}D_{2D)?oSO5$19I#rVP4E ztOZP&9yC7-<4Oi}^JKhIHht+R#J@i&IZZ+7mqzo39G9-3^!lYAepj_5mL5;39v3MF z9D@}J(lUD+gC?e?6o1T3|H`;a{WRZe@Xu2mx66~-3VdApcTT77J?z-)WQOUjpqsdKc46kl(At1sbz5mmLF@S@(btVr|7jPa-@Sy%`Je< ziz)}Busb$$mfvo7OB!!fesP!4;SmyAaJFZh>S33#U$`|rTUZrTM$P2GIiFMGkpAUO_$-M?@8YTN`TPibfl&W>pr<)Ed|h$?4)qviWR(AIWi*0~w7 z2=O;Jy=HNloE(Q9+0FEJjjnW&?~wf=nUcD+|CHPHYBh8|oq7FjUIioEz3;8QXps{O z(^NHA=4Z-H*;)Crlk2%qrNW!Z5mq^5;UwSmnsi-r<~XS;R(0|tQK7ZKss>LR^>EUu zd+7C)WP#O+CdCAeCR5921=N>&6vhjzfinJf-M`H3H+?sVwt}+4#bvJy2Ff7cUJ2UM z`JH}z;#Jp~UxA$wp>JZ6)T^iM5U2UI;X*hcw(1`4>D;olN?Ki)u^^`<+jj`iK~~vi zX~{M!IIh={>Uc;qc^jNkIa7V{Qj%I@NNZI~VwKB1F}bO|DNY~vH}9@4sBbRDSwG;>NmHlgAr|I|2`lFO>X?kB4u=yiX#wdtIX?e;ql4a7!*74$Mu)#RCf7>K&zI{^x@qvQ}@O8 zyG@D5}8~H9F>!QeEI-&*&1`ZeeG|&XAj=kv*9ITe5AgdM+j zNhPwe;FzhSvdE+L;zR^7hb-OZaYP6?QG}YHnA^)kc(Fm$W&uOVL6Scr1ViftmB}!O zewk1m7KZ-AW^H6#s-%p%$Z4ae&pG96;h$6v9`}ZxpfGtZESHaJYhYUx(&qcd5G6pe=gb5X01TV zlmt`p(ud6Ff-yfE7;G>dnC{S`4cbjkhG6w{COrdmztZh5udEioF54W5hM4Wa^A%)2mQt@7d^K9M!&4$;J1gC_(+)no%gH$dzyniOv}$@@1=AC$R3%E z{zSDdt1Q6AN6vqY^_H*x-HTXi-7MYoI+TRe;BN2CwR-&Fs@jjr)OQV>iU_!MhB~9j zARikbZ8$%8?=AY!?Uy|A#eeq{j~+h&e;B!_-}&U$hL!KTwv3@*s*vbD4C-0n*2@hGo{c1HoL3L0 zQBp)6^);@)mLD15#qG?AbvSg;PjtkuXj8=ts;))ib(pSW?k@+oUwTEzuPqk!)ZR8( zf(Q1?t}V`e+ZmGE0DED0ZBxqZzC;AeDR-AUss7j%h?6@+o%Os4z{q>6T;I)K2bEWL zdPk96V610YeOseLZy^p9zqanB+IhA2wi$)uG#J|^7B?4_@!yBVBD{YZbr*3>E3mH- zJa4FZf<~I@K^Z72${JM?uba+~NNOA!porGiy{CPqYQT?%oc8I{8dR^n5ltK|G+D3D z1kREQDro7TBx0Ui%gtWCG7mYDubF#gl|sV<&xCS%v~}F~qo{U)pLEBP>?NG6dMFTd zz4HlfakFTfPy7w#&@=tz!sPOyOb5^m%$FfKSdRV(@H?Q;$iGU>6Y!)nWVcyNMlMdy z>DE%u%{z?T_@&n?yJ4L@I*+bEISpMqB&AVYH2<^$-q_Z()|s{O;MF%(!McdZk#@K- zfV`EPZdGY09xFw^?UzF|Wx7NzygH%NrRaU1ar{pF^1w53LuzdZj}sI1?!k9K*L#Cp z5P)TmmCh!~@BoE9z3K{h=k-*>!S%Q5Ej#I&JM!;jyGfS9c`;8+ZJ`?%l93`dS1Miy z*BKFk7tFBCcsbZP^che5!{e#*qoAYnBgpbiB0o;{`+BP%C{^gs ziKBUx1IS(zZm}zCYbaCJP$75*o;fzO`Z24foqIOG9r0|oSxwG%F&-C@4aXz+HWG`g z5zCIH99Y!S{M^s>>Yu@3KW3MsmSzR|91p)=Ztd1O?%hXa{hFH~QkG;2?D`~XP9~y# z-bamYFCXp>kLOD^c82qJB)1h)C3}F&;w3*`3YQ!)>JErYg#YRVTW3a+k32a>q!A}a zu&ICOE?bYge)G1c)1|&(&7& zn$Xx*E_s20?71xtRZmPJia}G$V6RZl85|zV){i%u%G6Rjc1@EdG={zHN#8y$yllS4 zmHIO1i$*7_l)v7DSTYeBA!R*He?9sSC(4?Vv5Lqr0}eykO|Qq>fs79(5q4+{G;V@$ z;$OH08?I=bm;}m=Ei2iL6kUrn+*NV*-c-Csi(Q2{sM))4VgNM==PT2i0L$SW=}7vS zIfF;Q$on&DHIE+R@6KdN<8RHtI8`arH83FsY~uw0^EdEdK>=&^IzO|=CDm-y8~%|q z=1AWc`OgC-99`F~KO3T1NPE@VJ`J_L&1Z+rFLiL1S9N#*%RY2O169m@I9!$BxQALJ z=(AvtVf6Wh*DzrE`a37!NyN;?%&#Z!ug269uL!h26+6C16QRspI%%+9m-L0GqU|gN z1r>e1~NMJ6$4p05bJL14mcyk!eLzZ?*1X2wj$Wk=SkY|hCRrM_EZ}Z(Jv0} zuB+?qmFp2%2x2+Ca(W1AvdDPVY=0{q+hy)^cY0+d&5%wCa8Xy(-6Gi>b3K2e>dA{WcX^IdyKYvWb|u zy~y`6>1VJ2kQ|bca4Q88J-GDt$%{}=K=$syH_4magCAC4~aMIgnzDXE*4blI)gCuKgnsQ)7XsQl*Jn@FXnIVa1XqQ-dLr~%_SJ4vsoD!~S zFd+TI^&h%ulO1+^A5^f545;iIJcZCs%Sv_ZAUPTfZtiik-}{h}(pYrvVv=dq!C4ZV z`=0nEC132{KYt@t0%iz@fE{ob7B>}lZXYxEMR{{YEclFHddHva2*GiYWE{}U@(zDVDb^ueG-J^MoN`v6|?lLBda`dKe8R6idkg z@g-co9L`Q9nj1@<67Bx7Nu?2k_@53F>p3tWJO?!q`Lxn14F}-NN<$Z~zCD5dDYWB8 z!_Hr#puA2nH)A7qqW%jhGKn5rBT6DN0m;W(+_u~JiH|TIwmuM{Qlz}ujL0|0B~nBP zjtmgHKpUW8Vh(CZPWNO)5Oascb{Nf-yM}nTW~Ap^$SC^ygijCmPgn|2-7mq7(Q12$ z_!UX&9US`m?PA4ymG@cm^w)g%a2T|~7E7UR$;i;6jg`ST#wOY7VL#!7UNjGS&MS@X z=!{-H#>x*vi$lqIN~s9>sCT257#l77>};rur>Y$b;YC&gv`w=g@keUiM_F*)=Ug9S z0};Y~QD!0JXJ@%=bsXlMbX@3SY{*y$^A!nDmn~<`F#q(d^SF{M*#O>?W>?rISi+YZ zYl%fqfF-V#fPBc0eIr+@u~|U|YtB8AC(R7B;D&N)a0B1JSU{mN9~GN*p8gN%?HdVy zOorHJ80)z5QRLU|(Z{?f-sZx*h#vZPT(@mVeLM}opO`ns}NzS>h%J-4#HF@LUgBOgdcisYjvMgGk6(iSE4;7+)vEnS&46f?dg4Ub{@ znz>Kj5U$s!;GX=#7Z55YSlOc?W=SPVf%MXgS8%Fuuq*!PK)U17X_|FRSFMI6?MZz8 zHPeCE*ot$v$f0awmsT!zpYw`1?2OLaWNaFT8fOtIC$O2iW~nTLH1t;a-1Wm53zeCm8%=rq%+t@njLRE2DK^k1tIxncO9VtxWZ5%f7Y4*W$jy-C*NUo2$@d6*=W6VEBih*o>` zenK#!e>Ph6vn?At5vl%DGk~zOqqGZzHW<9#b~~pqljk$0-%Y*{yHnq8WquFmhF;Ir znFk2_J{8RrzZDw>tr1^;^=%|nuHxYAIS=_`38r*ML*4e|;LoVeCR6jcQ9g`_E?PSx zJnwCiGe7Ec^F!Xf)B)jfYu9SeBN{AZEk%pIiE48g$VED!AXP^8UdhFw)K$T?FI4=M zdoP_^X%3Lz?{sn7vP`ptEyW%-)tULU`p0j*v?tTpGYNO43}?khc}cfu#8*&LFMmiR zO!m|A$1<0BTZ+we#r!n$Um#Uv$}3MEGg7Z+Hm^};m;+12|g~hv)1s>z78N)ZH~iSz_ps%s~Otz$6V5MZY!; zftgwA$59+nNp1%t)isI$*~2C=3iIWB3dbHEpQ za(_401)TK)$FTP%XhJw%t$rKy9a$R<5n<$uy_D0-%G$E#$(;=b09#z7{Mf^i5^(`yp0O*;g6AsRR@e`NEcfs=HqSftv`#rne;X zAZY$@sW$)FK7Zd10Z(N~YBqy~ey-^nrbZJ_{R@H!#}wJ%>X~B;JG3HhsN!=NzPvuKNqnSCOMy2+I)k%SIku8jLa@cFNW>i<@&|708m PI92SsrdE;)5|aM`5?`QX literal 0 HcmV?d00001