From e93e69871f820367efe187d398b594e4f3e04610 Mon Sep 17 00:00:00 2001 From: asus Date: Wed, 8 Feb 2023 18:12:25 +0100 Subject: [PATCH] first version can receive connection with message --- a.out | Bin 16488 -> 16568 bytes mini_serv.c | 36 +++++++++++++++++++++++------------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/a.out b/a.out index 6f869709052bae119aa79a41a867c7cc392c613d..d6d0239c7bfd88650d9e4985ffacdb8a8e900093 100755 GIT binary patch delta 2448 zcmZ`*3rrM87@j#exI^gO9^i6HygjY&atFS6o`RLSO>M<0@oY8qtRTiB1|h{(0~9fC zPFnF#jV2oVFcA~mN>PiZ)k9kaQ?*u&8dF14Ti3*pJW>nTqbibatT~o?uj7^3 z+2djJS3jRSw4iMCB-j=;!R^9eW>R&eo{&017?%haq88HK;Enb}cXSF}0uQ1@x{&p7 z80Dj=5uqqL1^Q5W4FsznoYoXtuG@VN1=hLtN{r*em21#!m1D|F%GZ}v!42!Du@(}A zlUkrQW^8c{8u8+gBh5RpI8o#S&Q*_CZ70M+nowrVtQIdkiLgwuE$8(y`8w#2dDD%q zPg~C{W5{angz{K1fxGJTI%r0whTFs<7Y%!3Mffo`K4I$+HU=&rJAmx2A*>Ask$u4y zpU^Ud9R_JO5tbs`K7>txWyo$rwsQ#UfF_$rg|=4PnAjc8(Y72vA-&qzT$toMpHvo) z`SjlNYMQqFp<~oPsQ42m2z#dEAi+n7!!w5vuCP8M58?(Is{cC;jtirUY`8bH2HAa8$#U3wjEx&3Rd%i0;i+SWXE>sLmu^4(G)#7-(ngS7 zqb4>YMXDzk%MF1QY$z+gSH;WWKq(69k|&y`uEd3$wJw8?T+@?fBxL2Z9DcPYTsR;r z7nO7B^KjFZQ`>M~l9f%WQhi4$?mofhJ;}D|DYmQCjp(Kn4m4~U(5fAn@F!Rz8C?NG zhYRn>yX0`ODl3;U^hxF_E0@$8gE&>VP%S-&8|oCss#TBbRI#eejt&=gJHClvh-QN; zR!f!HmT>VMOig{7+7GB~=riU_<8w;-oC7E0a31vEF~lT}n+#&Q7^CY9#3g1*mxdY1 z9%X9}H>N*EXo%S4u)c(%K?o%#Wq-(x>e1+2;~cbMXC$nTl#cMn^O#pt<8lP$B3pU` zD@kL~V+batdaeyHVG$}DzGJf080e;ejDubDc2XD|!aYG6Z}N3aby zB)0)12nW+VbUAdT`Dr`!ed4$94w!y}M^nl`u%@JTMNA;{498V=0iuiNbBHcy5DVHhN#jT`w5s$1iTp{4MKLt zTv`M58Gel1ihU4%%~(vogzPEvM`%3$WbV5Zm+GtEepWAUfwu9R{pRpf_ zJhPAGTSfov&_{xdX<|kO*LLwm&EV0pI6o=TAoLx9!#T{0F4p@pz25+#X`;0e?Imcn zB+`A*JWX_;VEz_7+vc;y<3`##rX8l{JGXMi?qRFfuC97(eZ|{rN~+ohX56Q3ce6s2 zcEig#excoJxS4nxLe@mslang2H;^?GCqP$@-yY#?1ZZxiy@yLZP>`GXbQ77IDGQX` zT3fdsg%D`X6=8gy05y3|*l%;f@mvS2$`ewY{9lcU<}uP84&(_g^LH?DTr`}|^TnAv z9(RQ$u!YV8CE$0}NXB#~MpHN+@Y&5LI|y`UCiDf;p=_oTvhdqFGyUnA2;zgsS_^c| Z)MzJk&C0afrW@Q9u;*veTTqZc{$D0nlU4u# delta 2240 zcmZ`)eQZ-z6u-A0YdbdAS33H^pdC2m!?oQQl(BUb8TyDr214Z16a#bk5enIKi4Znt z7ng3yx+4Yy3B`nu1(A`CK-95<#w|ujml$DxAZSoaMA?8uP~ds)d-q`_@h114cYf!0 z&OP_MbKg7NLetH(%Pu4ZB9EXV$dTBL!=_%NqV>i`yxGU}igHX37V25Jk}9eyiCNJZ zoP{$~tmvV@e`T*m(N9AQwFzO)3UgK%dg!m<*4W{QCRq4?G2%Q%98B7+*0*XdUcP+e z@EVPGozCx^Y3T;tP3X{0cd#R==`@oTLYfI-m<7&jU!>hosPn>*&Q4drnAS#XcT zZLkN?)l7$4ogJ>?oUXTnS#PKPvOTQ#nO;pH;MK8ya~* zNMGzjEQpr8!?8x^785~k8|rMR72?Gvaf^c2^O~r52pooW4pn2E(FF>V)jJP54K^x3 zzrhAy7;7m3TT;;?m}&l|3?CkNFjZGIA-D4;|AqRSkLjBq z(>H)o*az1HTkR}-l~Vp~Y?wQBo;=rk^3lc4fCD|mPQ8VR^1BWBVpRVz`N{GZ2!3-M~nvAP)TojC`su} zk|cet-wDSpbMjXsAhw?qqf1Ali|>o=7upBYWpK|jAIw(Iu7MopKbY=D4>20?{f(kE zX%wR}T8zH!ks1VB``Icr=3(xKxX;T7e8$o}!`gO$b$NQC>`^OwuvPJB;2ux2T{C)Dvzmy5LAgij24z@71~AyJ^ri=F=S@hA%KPV?N@A8(h}N}7UO{*;QjIHX+9({i z+AC|()OuIh?)Et4P)9MDXoRJ4CL4(uz?s21&smX&aMW7hGRixyL~?6CTa{2TPFe!L zSdVCg`_PrY##D#q>z`xrgki!x6O0<`yWKhv+!J4Tc4NcFH{6@IZ{NB-o6w2ciXiUG zdiu^yNoqj()u<%xL-`%bK9nDfNz!_hJ8wzSwwhDdubfT z@cAML9)!&#q=hG4|!b*LXBm9v9$;!s$^IOQeJ(OPIJ@zOAyz%>Lvmb^sw zLV4*j=M{cPxj5*z9#3o02qc~lAD6BL>uf7M1cjwGdJ-1SwmHtBS-?-LoCnf%e9vK6 zUTTBz?1Bwu;w1JUhq>6#f@0F@k4%2UXuFR%JuU~Bg zH;h#5GNu#<0<_WwZ&wQTQJ$G9)kI~&sY(IfuQVHznO=WZ3Kq4xs=T5FXTX!KHY~o; z6@fNd4I=@sCG1wbRe6nov&sYSSNWi+$_zs|_f+{z|Ni=itNf2zI)wiXHsat|AkjVG W2>MNz*e%7;2Wx_U+5xfPQ~vsin_family = AF_INET; + addr->sin_addr.s_addr = htonl(2130706433); //127.0.0.1 + addr->sin_port = htons(port); + + if (bind(server_fd, (const struct sockaddr *)addr, len) == -1) + error("Fatal error\n"); + if (listen(server_fd, 10) == -1) + error("Fatal error\n"); + + return server_fd; +} + int main(int ac, char **av) { int port; int server_fd; @@ -51,19 +69,9 @@ int main(int ac, char **av) { error("Wrong number of arguments\n"); if ( (port = atoi(av[1])) == -1) error("Fatal error\n"); - - if ( (server_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) - error("Fatal error\n"); - bzero(&addr, sizeof(addr)); - addr.sin_family = AF_INET; - addr.sin_addr.s_addr = htonl(2130706433); //127.0.0.1 - addr.sin_port = htons(port); - len = sizeof(addr); - if (bind(server_fd, (const struct sockaddr *)&addr, len) == -1) - error("Fatal error\n"); - if (listen(server_fd, 10) == -1) - error("Fatal error\n"); + + server_fd = init_socket(&addr, len, port); while (1) { if ( (client_fd = accept(server_fd, (struct sockaddr *)&addr, &len)) == -1) @@ -71,8 +79,10 @@ int main(int ac, char **av) { FD_ZERO(&fds); FD_SET(client_fd, &fds); select(client_fd + 1, &fds, NULL, NULL, NULL); - if (FD_ISSET(client_fd, &fds)) + if (FD_ISSET(client_fd, &fds)) { recv(client_fd, buf, 1024, 0); + putstr(1, buf); + } } return (0); }