From 9e8ff2cb7cf327ce64dbe38c3a8bc2ab30b00cbe Mon Sep 17 00:00:00 2001 From: PreacherDHM Date: Fri, 10 Oct 2025 17:02:01 -0700 Subject: [PATCH] fixed http request hangup and socket usage --- .../clangd/index/http.c.2032D7AF431E6769.idx | Bin 2448 -> 0 bytes .../clangd/index/http.h.CBA685791671AF76.idx | Bin 1634 -> 0 bytes .../clangd/index/main.c.5F7C0974CF7C54AB.idx | Bin 1194 -> 0 bytes .../index/main.cpp.C52265A3E70D3278.idx | Bin 1276 -> 0 bytes DesignedWorlds | Bin 14096 -> 18240 bytes source/http.h | 2 ++ source/main.c | 12 ++++++++++-- 7 files changed, 12 insertions(+), 2 deletions(-) delete mode 100644 .cache/clangd/index/http.c.2032D7AF431E6769.idx delete mode 100644 .cache/clangd/index/http.h.CBA685791671AF76.idx delete mode 100644 .cache/clangd/index/main.c.5F7C0974CF7C54AB.idx delete mode 100644 .cache/clangd/index/main.cpp.C52265A3E70D3278.idx diff --git a/.cache/clangd/index/http.c.2032D7AF431E6769.idx b/.cache/clangd/index/http.c.2032D7AF431E6769.idx deleted file mode 100644 index f955cce706e386a9ce1ca446b7f4781fe686aab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2448 zcmY+_3rtg27y#f~0b9yx?dx1xXsJ+cTje6O9jz18c2Eo;(3c3U8Wk`bf*KIS;i7Jt z5=oFv1L$DrTr%Be_K0)yJ=8gLiet*~#imoI44g)zD08@r$>}+3(%XLd?>YDX&-r`m z$;!;E52vW~lC0W_(v^!sDT-2X@2ZuRZ`ATAYGDXP)wZ>}a+gM%B)$1Pof|LJ&aJqz z0Ic7-^?FY1zV$H;HLv{E?t5>)WmmK8;qMK5ztIebytZun@Xp~SXD<)kcq|-$zQ)}e z(^B(f#nH)GyYrPpjo;1ER9TK zuROcv#?AZ}IkUIqo-iIrUMR0mnkTK%Fn#-{cZ~1G zxAc~)cmsTY$I!@=C#TG3TDR;d`mC|zL7k%~Wn^7>q`V-EFDYoaeEZID%Uadw!Vj;2 zl0!kq;xn_KEOzO$;XC|iGO56H8<~I?VW7bw$(Gei~46?gqY`A5SOAlj5oH5FRx_ z%H2>|x}*y7DQeyy9UJfe`3oghLxEM0hQ_I3gfU_YmMBIPk0sN}7%UhI4OmJ>nSjMi zWoDpc)lkpq6R=p8HDj4r6Co>WC6vmh60);)LQd8h)WCu-@+9$td>()jsU#Amk@z6H zXnxMm5n=#YnvF%z1TayPXv8wnCL(6mn2DH`wh}R$#zw?a=~NP2C?2Bt}gP15iilWO!MaP=+QH&sYg%GKE-$bfFQYH=}b?`m8lwCN3Yn zSRaLNGC%`SwO{6sK|=ua+x+QBC@-$gvGzxuUwbjPPQCo~bZ*`VX@mw>29zM!p#Zw2 zZVj4&Q;OSx6!BxF`}won#oPo?3WGfYAg!f?O%0$|>WxH0I3;;gkUDl9KL0Cyts1By z5CAdCKn=wLF(J7?PKXxJgj50*Aw#G^h}K696G38d@zu}_%!F*fMko!W5pnN_~Q?%`nmQ?5frQjr2>2B26gj>B?ET?*7K z0J>OL5>nUb=-!!qyGOahi%;>Tc!(fWKs3A{PGBKo8G<=jc`#3prlTrL%NLC;NL6KV xRnpj(V3Sc)u=^+;EKBI8_H?aKhR~5pD%dm>Ra{Y0F64#@1%NLQjSmlt_zx!MXy5<< diff --git a/.cache/clangd/index/http.h.CBA685791671AF76.idx b/.cache/clangd/index/http.h.CBA685791671AF76.idx deleted file mode 100644 index 8f8c41aa6ec59a50fad2c1ae999eac05684df725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1634 zcmYk54N#MH9LN7GUY{ggZ}k zo`^-KC0$sic-a|XXo64{FYsAtcLg)`XVUEYyjrc@{*L|m_Vyms zNOGtn;o#14wR!qzzvoawNwxc#xW}g-t?ZU}rN)gqtJ}_Z*;Sntis!t_Z$#-)h4snxms|Cg^O@I`Lz=L1qwR^~uJ};X zS!q{((#TPB+2nr7?YB}!V%qmc{ndYeF4v~JQWGgEnymcnoT{wj@tvtF$$fI);m?~7 z#CDO!ypzSok2j@iR~;)`cgARTYC8P#!kzm@O3UwucHXS2tvY4S{p265r$h19of&G@75#~F8h<+GJBnU}7&4Q4E#kEtCUobsIUm^(cjPi*#rtY_d3$1)pU zkcEwVQKEW^a7(x){z4E2?ixPE$w(bsO_tK9HI!(fj$|X1 zLSX%1OVM|AhNd7&e4*B{IzJ(>R#yFVYRst7OL)MAh(eS?5V5ee8|Sg6ts*hGw8un= z66R}IjYV0I82BohK_Nw+n9*10i@ z5*F%Z>@t}USP$I(Ay1@#H=hy;wU*VYgut5V9-R&E)$ON54s{?KNQJ<9G$XsPrf9g9 z5(U&t*`-tntn~UiktZ_XnS_7C@#zhI* z0+?3?@w6jLm9Cr#1k5qqB1U-t^XA}alt#oZ$l~Hs&O}Tc-Ybd&b9rlU?%_9%PxLtiR_82qaO9$2g_GY~C{SmYcFs~Xeaxtc0 zW$vfybih(Zy0|6E2bebxM^D_ndgH+un+sUMC^*FEB4A!b#9n{zODo7%mjjkClEp<( zO~AaDI2x4%%=?HqTwGykR92k>Oc|;`j5q0~UNFYV-@?$SC^I=|+pS$i+%eu?nWq}ZO0{qu zTzd6rq*IXngG(~(ragk)d?#9U9zSM&5TSnXW^0AW@$&Wa5AA)}ZL(G8<>D$&-gZ~- zL%AQepDXJXUg_F4pDC@PZt>(jSrgBmEGte5+RwG|P++%>;=i|dZ~T@y{(tB7E3((~9o`Ln-Fb{Py?HE-^65a2v`PD!~l>cKskn*~y8lKw&X{F;SRs>Gqh9OXmGz z0}3l~DDl9A7yWq5Delh2$;iVkuO)8;6Ta}2H~#Rfi6CJaZW%F{urxGs|#Ga7ggMRLgKHb0{P6ba`}zU~+-Y(|Dw$(%gU+ zh{=m-!CZMus6W@|#qSWH1@bKNyfD>=4~udv?+l6u3TsPg!=3Z`loqFy|JEd+AxhFp z$}rU{&+@HIiCI(uH5(>;z3K3k-OH<5fQHD4$VtM4VKk!@N>VX!mG3NiUAhTqh#aS! zAWW5P?YV*{v(9c|;^Ed-*Vcx)8_3huHiYpmo!`tjRibn!&?a>jbuO6Ri(YSD_qzxk z0t!2+IBCIzpFVl~SLtfoX`oG3T2`hoVOUya$+)SN_+ON)z=i{n8Ieh>ixf-nXHGq*F)IYrhti`cpN1o#Dc lc^J6hk_n8~>*IUucU930FnoJ_2Y>;TRtkyro# diff --git a/.cache/clangd/index/main.cpp.C52265A3E70D3278.idx b/.cache/clangd/index/main.cpp.C52265A3E70D3278.idx deleted file mode 100644 index 8d1e9df558009a6d3d216215a13dab57e6953511..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1276 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 D+$5|9 delta 4510 zcmZu#4Nz3q6~6B+E4$0z?gH+z;CVOoEZ4y8$2X`&gm zF<^*|D=mi=2c2HG)2c8My=2T8+Eu#B<>VY9gLdxPy}0^dj?N0r3@-`k zG%|gml|n4rw~k>EO)&@*Bf-b4}9{h|L45|X~nAtQM`H(#S1&-HLfp=6mH4Ema2K|xXa?J zy|VDsneRURRL!-l;QFgM{#$C>1)JJ#eeKJPsoP^4WG$|?{nd6%kBp^Oz7tK_%%5PH zQ>0*xa1+^62@PfDi-akesW``52-EyiF^-=h++rc3j}uQ4L77kWaQrx7E8$L#8wgYK zQmq`XAe>IPnd1it+X%1acqw5!;W~~N5vIjUDICv3+|ramM3@t$R+=r8y717H>HeSYYgTT zy@VFVXtj^sg`NGwVTGypQ@J6xpFC&-*oTPF5{;e58t*#O$`5k?Z5M~b&}|LKsNS{u z^6c0(+nBpjjh;(x!Q{MWy;%yQ)w#KFz5J91dK~%ka~?SCSS~#eQbwV)2K-nqh5N9a3H2F;vTYom%a|*jf?lNh;cpp> z(znRTJJu=n;zGWy=o%N~XCStS2(Q`5F>P150hVT0Np8B?Q?zV^sOG_n_3GYf2c z)hFU=`$K)OCo|vOr$&z_kKE8SjDmbS`kcrtl+PE!rA%+jY7C`z9PIfI*)RN=k~BbZ zvCXsCCK^e$VMjSXor5!{+GfWP*0kgyYSmnb! zp3Fk0!C&H3hF-^_CApXe5RD|%wyg=aF=yy)WRq1$ru=y1uvKD!j@lrNjAC8H_QX%XwW0PK@R?#Ba_5_zs8ZXxBwOu ze+teSehAO-w@A#w4r6Tbn7+E}XLyCDu_Ffe4#yVufq^&rzK2(~%sxR(G8|I4rhA`~ zA|zqrMQm=vTZ)9<1>A)#98h618EA!tI88h~K0>@Eo*p3~0TWMy5>jH~sdHVh|FFqG zual64CZ1j?A&QANJ~g;WHSrn38FihB&ouG%#MAs~H1vuIS!-%QubGf06K{MQaZ|I2 zr`Jr#CKK-#Bdc2O?=truP57c{MvT>q_UucA7HI*!_XNz=wq z_gvOACvM2hE1DKY-HN&nb=g%-Yeu~lbtmelZ@_0IrDZCHn}yBTvUDeH?=b$pgPhoj zGsuL$=21=SgYwzM@@E&IVYXlPU4$*Dc8ozcs*__dfU4v&jG#Jr8E(z?SDwS6T%sdT zo$dUwT$44)GAd`L+gKq|58@Es!K-Eh>v!z(O)?*Nxb#mJ2soD%j9C>jvzVc=4VS~< z3Kq5W<|rJAM2k;ikw|d{?j$^@`&0KM!hZd>ww`dnsgPn~>f>%5i^HcFcH^wb>JJ4{j|8&Aq4bN$#D)#NQpF@#nm;hb2SMQ2wZ65iUu9 zd09LR1LZ*}0jcuHoHQ15D7?X2Mzby)s}tSC&<&cs0o%$w1^dzJmaRXNwT}7=5 z9x$vc(iJkYSFjI~Z^I_k-&ln@Jq$a>+n$1tsyx!C zRNud7hjieL`_5P(CZ|K|k{+oKrYRwpn3U6)Z5OOlLU)c`FZ@DTXg96~=7bTYQlNkn zeASgs!=}*niqa43szWYuxs1DY_6qDl7SBJ2qsD8t2+mZ89OBj}$phcg3P+Q1iQt{m zu(ZM@u9_}9WhBk8XKBbG*52lU5o{xl3jT@itEq7G;+GytuNN8+n*IyWjnMSh|42=x zy-fEVp9;QZm3DC!{m^h1+5FIr$hZoJi(q6~rMMWAbaS92VOk{Q5W77dfQCqgLmax3 z0qBk_mQjtMlBa>Mw!$%7r|_1KOoxWr#rCdZj+hF2YAYRy**dytfwQ$0@`q*M`|7O! E0oJ%%-2eap diff --git a/source/http.h b/source/http.h index e7c6feb..040de46 100644 --- a/source/http.h +++ b/source/http.h @@ -8,6 +8,8 @@ #ifndef HTTP_H #define HTTP_H +#define HTTP_PORT 9090 + #define HTTP_UNKNOWN 0 #define HTTP_GET 1 #define HTTP_POST 2 diff --git a/source/main.c b/source/main.c index ed23c47..57ed265 100644 --- a/source/main.c +++ b/source/main.c @@ -46,11 +46,17 @@ void handleClient(int sock) { memcpy(packetBuilder, tmp, tmpSize); free(tmp); memcpy(&packetBuffer[tmpSize], packetBuilder, sizeOfPacket); + if(sizeOfPacket < HTTP_RECIVE_PACKET_SIZE) { + break; + } continue; } memcpy(packetBuffer, packetBuilder, sizeOfPacket); + if(sizeOfPacket < HTTP_RECIVE_PACKET_SIZE) { + break; + } - } + } if(sizeOfPacket < 0) { exit(-1); } @@ -106,10 +112,12 @@ int main() { perror("socket"); return -1; } + int opts = 1; + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opts, sizeof(opts)); struct sockaddr_in addr; addr.sin_family = AF_INET; - addr.sin_port = htons(9091); + addr.sin_port = htons(HTTP_PORT); inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr); if (bind(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {