From 2f20425be76f4c1dbb5dd746067d387f991b6850 Mon Sep 17 00:00:00 2001 From: Michal Starski Date: Mon, 26 Nov 2018 22:45:13 +0100 Subject: [PATCH] added testing files --- .gitignore | 2 ++ assets/test.jpg | Bin 0 -> 35390 bytes avClient | Bin 0 -> 8932 bytes avServer | Bin 0 -> 8964 bytes avatarClient.c | 50 ++++++++++++++++++++++++++++++++++++++ avatarServer.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ package.jpg | 0 7 files changed, 114 insertions(+) create mode 100755 assets/test.jpg create mode 100755 avClient create mode 100755 avServer create mode 100644 avatarClient.c create mode 100644 avatarServer.c create mode 100755 package.jpg diff --git a/.gitignore b/.gitignore index 254defd..0b1b44f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ server +.vscode +.DS_Store diff --git a/assets/test.jpg b/assets/test.jpg new file mode 100755 index 0000000000000000000000000000000000000000..ffaa9afa9f83062c47c8e1184eedb242c7d0519c GIT binary patch literal 35390 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 literal 0 HcmV?d00001 diff --git a/avClient b/avClient new file mode 100755 index 0000000000000000000000000000000000000000..323c58ae3fec164ac4fbb9c5f2d15b4bfbb83a14 GIT binary patch literal 8932 zcmeHNU1%It6uz6bHcfw$zGy_nZ6#8FNK;Ws!9Y^GI?=VZO$xQv-fng$*=_cZ*-6?y z2q|{KVY`qQMM0rHC?bLZQ%H*mwMr8~toEsj_+l-)(1M5$)vEFP?%dhzPK)@YFLU7D zbG~!${pQTMcd|40=ECpS{#q$SXqgZbO+tuPl(rQ@6h#=85O<;&C{ph1dpfc&vio^@ z8zs~TZ;8lr2_2;zjO-n3?4riEHTs0ch)p0IRoFvH+dN{^a>dU#wFWnXrj@)I2=Q{) zbnE3}q8>_Fu*Zf9HJ6`nW}VCTgzn*CZ$Pu=yG=V>KAAMrdDDW=&-bh5^KOAyhw3ui z6kohxTdC|wjlVH}NlX~;H>%r->!pDk4N{I}52vyTnaU356mI03)_k0E3bCKVZEfN#xLTP83#-V^4(#RJe% zj^w-?)9vSL)A2RyF~oj8ES;K2nU4KaeC?WVryfCE&&T^+TVtz#uA==ro{enp_nwKc zFK@t<%X$*Xqw=b}LTtoy+eJGp1n;F8x*OV)-mnmF09=A*Khm_Lv~3UqOHV{W!1mQB zUhFWHurEt}9^96t`e*Rmu>@-txx*+NyLqf&ZBD0#HYbjz6Tp8Gi;s zOR*rHfujZ6%ye$+L|myMbb{QELjL9rZayE-nE47M$Uu;RAOk@Lf(!&1_zj2Dk(YLjTZx2yYwsGupPWelp zRrn&PcSWBWc{Zhf!h z(KU7)WIQ=4N5*1SLhQ2ICVP2krw+;G5YCOUEiqBSeuk3Jq_En3BZsktA>a?gA5Z5B zCc!2GcbkK-3ov753Z_le4V259S=zm@^EmFdhlvaz%Z!iH-U+*)wor)n64_QflP5X| zbl6JSyp|^+iT@dBl9{A5kC^c>+r*iCjNxy{#8O$&!OfCoVv6V26wjc$HN;&#cZ1}1 zh24D>>=~*37HFDEI#Ji-J|8xGc$W{q;KR~~M|_xDY4z6|^Wm3$m>W>_{ds@bNK^k$ z!83E7CpV+4LgD#2&w+V%s?Vx>xo`Au$AodpesjL1%6G%+Qfs8aUkE7>-J8A*E#=w1`~s``fn^lR?#1P6k50 z$c1jcNQ~7|Df8AyZ@#MX`TH`+JDL6O| z&e-ilsui|ns*OW!J#i!KITycht`Q_WexiLOpKDJgd)xa)Q+?o+yO21J%KIOF^u`|> zAAL<+{^pma8>b(HE`k(763cH_iC9g4>D!?PfDziNti$~2htGMfkai-mj&o?Z@Gbrf zgyzPA@$4GSTjp@v<~EEg*^5Sy`;h2AyvB{^{hBjgfdmlYrj=0^lMLF1v2cZuTabs zK1WWwnZjux{yfL*!bw1T#=hjNh9kT1CFm#s*Td7*P(T8!0IzvI+u`tN=u^@ zbh5H<&1fy^?=F` zs{DDCzo7C%$gycktM35l-c@OBKsi20W%+x|VUVwh*NDJ;Xvn%X&_ z*e$Z(;e-7x*589+U9QsQy}E4EWv4DT>oTUxr*yebm$&FHPzMnRA`nC%h(Hj5AOb-I zf(Qf=2qF+fAc#N^fgl3^V+2;LZF!dNS9D2UUB?qcGBG$L2S(z#KJi2@Jl@4iJ9SAe zd0c@rj4=nN8A?LqBG=-x2NuZTLG)=RMl2I|^KnjN z&2T)K7OgxyStzda0EprNs+&VRFm%sBcpTV_0}rsr-4A2x>MmFxFLm*3 z>A%=Ta0@?w9i&=^y4|PtP@TrzkKTrIx01VwyzS#|9B<2bo5kHG?gsI;#=H&v7YitR AC;$Ke literal 0 HcmV?d00001 diff --git a/avatarClient.c b/avatarClient.c new file mode 100644 index 0000000..3ebb80c --- /dev/null +++ b/avatarClient.c @@ -0,0 +1,50 @@ +// Client side C/C++ program to demonstrate Socket programming +#include +#include +#include +#include +#include +#include +#include +#define PORT 8080 + +int main(int argc, char const *argv[]) +{ + struct sockaddr_in address; + int sock = 0, message_recieved; + struct sockaddr_in serv_addr; + char buffer[1024]; + if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) + { + printf("\n Socket creation error \n"); + return -1; + } + + memset(&serv_addr, '0', sizeof(serv_addr)); + + serv_addr.sin_family = AF_INET; + serv_addr.sin_port = htons(PORT); + + if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) + { + printf("\nConnection Failed \n"); + return -1; + } + while (1) + { + message_recieved = recv(sock, buffer, sizeof(buffer), 0); + if (strcmp(buffer, "over") == 0) + { + break; + } + else + { + int av_open = open("package.jpg", O_CREAT | O_RDWR); + int av_write = write(av_open, buffer, sizeof(buffer)); + int av_close = close(av_open); + } + printf("%s", "Received"); + } + + return 0; +} diff --git a/avatarServer.c b/avatarServer.c new file mode 100644 index 0000000..87270f6 --- /dev/null +++ b/avatarServer.c @@ -0,0 +1,62 @@ +#include +#include +#include +#include +#include +#include +#include + +#define PORT 8080 + +int main(int argc, char const *argv[]) +{ + int server_fd, new_socket, read_avatar; + struct sockaddr_in address; + int opt = 1; + int addrlen = sizeof(address); + char buffer[1024]; + char *overMessage = "over"; + + // Creating socket file descriptor + if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) + { + perror("socket failed"); + exit(EXIT_FAILURE); + } + + address.sin_family = AF_INET; + address.sin_addr.s_addr = INADDR_ANY; + address.sin_port = htons(PORT); + + // Forcefully attaching socket to the port 8080 + if (bind(server_fd, (struct sockaddr *)&address, + sizeof(address)) < 0) + { + perror("bind failed"); + exit(EXIT_FAILURE); + } + if (listen(server_fd, 3) < 0) + { + perror("listen"); + exit(EXIT_FAILURE); + } + if ((new_socket = accept(server_fd, (struct sockaddr *)&address, + (socklen_t *)&addrlen)) < 0) + { + perror("accept"); + exit(EXIT_FAILURE); + } + + int avatar_fd = open("assets/test.jpg", O_RDONLY); + if (avatar_fd < 0) + { + return -1; + } + while ((read_avatar = read(avatar_fd, buffer, sizeof(buffer))) > 0) + { + printf("%d\n", read_avatar); + send(new_socket, buffer, sizeof(buffer), 0); + } + send(new_socket, overMessage, sizeof(overMessage), 0); + return 0; +} diff --git a/package.jpg b/package.jpg new file mode 100755 index 0000000..e69de29