online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
gcc server.c -o server gcc client.c -o client sh -c './server & ./client'
#include <stdio.h> #include <netdb.h> #include <netinet/in.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <sys/types.h> #include <fcntl.h> #include <unistd.h> #include <arpa/inet.h> #define MAX 80 #define PORT 8080 #define SA struct sockaddr // Function designed for chat between client and server. void func(int connfd) { char buff[MAX]; int n; // infinite loop for chat for (;;) { bzero(buff, MAX); // read the message from client and copy it in buffer read(connfd, buff, sizeof(buff)); // print buffer which contains the client contents printf("Server.c: 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(connfd, buff, sizeof(buff)); // if msg contains "Exit" then server exit and chat ended. if (strncmp("exit", buff, 4) == 0) { printf("Server.c: 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("Server.c: socket creation failed...\n"); exit(0); } else printf("Server.c: 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("Server.c: socket bind failed...\n"); exit(0); } else printf("Server.c: Socket successfully binded..\n"); // Now server is ready to listen and verification if ((listen(sockfd, 5)) != 0) { printf("Server.c: Listen failed...\n"); exit(0); } else printf("Server.c: 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.c: server accept failed...\n"); exit(0); } else printf("Server.c: server accept the client...\n"); // Function for chatting between client and server func(connfd); // After chatting close the socket close(sockfd); }
#include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #define MAX 80 #define PORT 8080 #define SA struct sockaddr void func(int sockfd) { sleep(2); char buff[MAX]; int n; for (;;) { bzero(buff, sizeof(buff)); printf("Client.c: 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("Client.c: from Server - %s", buff); if ((strncmp(buff, "exit", 4)) == 0) { printf("Client.c: Client Exit...\n"); break; } } } int main() { int sockfd, connfd; struct sockaddr_in servaddr, cli; // socket create and verification sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd == -1) { printf("Client.c: socket creation failed...\n"); exit(0); } else printf("Client.c: 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("Client.c: connection with the server failed...\n"); exit(0); } else printf("Client.c: connected to the server..\n"); // function for chat func(sockfd); // close the socket close(sockfd); }
ELF> @<@8 @@@@ØØ8 8 …… èèH-H=H=ÈÐX-X=X=ðð888 XXXDDSåtd888 Påtdp!p!p!LLQåtdRåtdH-H=H=¸¸/lib64/ld-linux-x86-64.so.2GNUÀGNU:mìKSþì!3Ô×én13ÎGNUÑeÎm#« +0Ha\}OÇ AWgÖ n"libc.so.6socketexithtonlhtonsstrncmpputs__stack_chk_faillistenprintfgetcharbindreadcloseaccept__cxa_finalize__libc_start_mainwriteGLIBC_2.4GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableii •ui ŸH=P=À@@Ø?à? è? ð?ø?`?h?p?x?€?ˆ??˜?  ? ¨? °?¸?À?È?Ð?óúHƒìH‹Ù/H…ÀtÿÐHƒÄÃÿ5*/òÿ%+/óúhòéáÿÿÿóúhòéÑÿÿÿóúhòéÁÿÿÿóúhòé±ÿÿÿóúhòé¡ÿÿÿóúhòé‘ÿÿÿóúhòéÿÿÿóúhòéqÿÿÿóúhòéaÿÿÿóúh òéQÿÿÿóúh òéAÿÿÿóúh òé1ÿÿÿóúh òé!ÿÿÿóúh òéÿÿÿóúhòéÿÿÿóúòÿ%Í.Dóúòÿ%%.Dóúòÿ%.Dóúòÿ%.Dóúòÿ% .Dóúòÿ%.Dóúòÿ%ý-Dóúòÿ%õ-Dóúòÿ%í-Dóúòÿ%å-Dóúòÿ%Ý-Dóúòÿ%Õ-Dóúòÿ%Í-Dóúòÿ%Å-Dóúòÿ%½-Dóúòÿ%µ-Dóú1íI‰Ñ^H‰âHƒäðPTL6H ¿H=7ÿ’-ôH=¹-H²-H9øtH‹n-H…Àt ÿà€Ã€H=‰-H5‚-H)þH‰ðHÁî?HÁøHÆHÑþtH‹E-H…ÀtÿàfDÀóú€=E-u+UHƒ="-H‰åt H‹=&-è9þÿÿèdÿÿÿÆ-]ÃÀóúéwÿÿÿóúUH‰åHƒÄ€‰}ŒdH‹%(H‰Eø1ÀHE HÇHÇ@HÇ@HÇ@HÇ@ HÇ@(HÇ@0HÇ@8HÇ@@HÇ@HHM ‹EŒºPH‰Î‰Çè þÿÿHE H‰ÆH=j ¸èØýÿÿHE HÇHÇ@HÇ@HÇ@HÇ@ HÇ@(HÇ@0HÇ@8HÇ@@HÇ@HÇEœè¸ýÿÿ‰Á‹EœP‰UœHcЈL H˜¶D < uÞHM ‹EŒºPH‰Î‰ÇèýÿÿHE ºH‰ÆH=ã èÝüÿÿ…À…ÌþÿÿH=Ô èÙüÿÿH‹EødH3%(tèãüÿÿÉÃóúUH‰åHƒì@dH‹%(H‰Eø1Àº¾¿èbýÿÿ‰Eȃ}ÈÿuH=’ è}üÿÿ¿è3ýÿÿH=¤ ègüÿÿHEÐHÇHÇ@fÇEпè”üÿÿ‰EÔ¿ègüÿÿf‰EÒHMЋEȺH‰Î‰Çè½üÿÿ…ÀtH=r è üÿÿ¿èÃüÿÿH=| è÷ûÿÿ‹EȾ‰Çèxüÿÿ…ÀtH=„ èØûÿÿ¿èŽüÿÿH=‰ èÂûÿÿÇEÄHUÄHMà‹EÈH‰Î‰ÇèVüÿÿ‰Ẽ}ÌyH=v è‘ûÿÿ¿èGüÿÿH=ˆ è{ûÿÿ‹ẺÇè:ýÿÿ‹EȉÇèÇûÿÿ¸H‹MødH3 %(tènûÿÿÉÃf.„fóúAWL=;'AVI‰ÖAUI‰õATA‰üUH-,'SL)ýHƒìèÏùÿÿHÁýt1Û€L‰òL‰îD‰çAÿßHƒÃH9ÝuêHƒÄ[]A\A]A^A_Ãff.„óúÃóúHƒìHƒÄÃServer.c: From client - %s To client : exitServer.c: Server Exit...Server.c: socket creation failed...Server.c: Socket successfully created..Server.c: socket bind failed...Server.c: Socket successfully binded..Server.c: Listen failed...Server.c: Server listening..Server.c: server accept failed...Server.c: server accept the client...;L°îÿÿ€°ïÿÿ¨ÀïÿÿÀ°ðÿÿh™ñÿÿØóÿÿøôÿÿõÿÿ`zRx @ðÿÿ/D$4(îÿÿFJ w€?:*3$"\ïÿÿtøîÿÿðŒ¹ðÿÿvE†C m ¬òÿÿuE†C l DÌpóÿÿeFIŽE E(ŒD0†H8ƒG@n8A0A(B BBB˜óÿÿÀ  xH=P=õþÿo ÀÈ ð H?hÐÀ ûÿÿoþÿÿoàÿÿÿoðÿÿo°ùÿÿoX=0@P`p€ °ÀÐàð@GCC: (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.08X| ÈÀ° à  Ð   0 x p!À!H=P=X=H?@@ñÿ P€!À7@FP=myH=˜ñÿñÿ¡ä"ñÿ¯P=ÀX=ÉH=Üp!ïH?h p*  @FXk@xrŽ¡µÈÛí @. =@J Y v^en»@ /‚@Žu“¥¹Ë@× ñ" crtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.8060__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryserver.c__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finistrncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTableputs@@GLIBC_2.2.5write@@GLIBC_2.2.5_edata__stack_chk_fail@@GLIBC_2.4htons@@GLIBC_2.2.5printf@@GLIBC_2.2.5htonl@@GLIBC_2.2.5close@@GLIBC_2.2.5read@@GLIBC_2.2.5__libc_start_main@@GLIBC_2.2.5__data_startgetchar@@GLIBC_2.2.5__gmon_start____dso_handle_IO_stdin_usedfunc__libc_csu_initlisten@@GLIBC_2.2.5__bss_startmainbind@@GLIBC_2.2.5accept@@GLIBC_2.2.5exit@@GLIBC_2.2.5__TMC_END___ITM_registerTMCloneTable__cxa_finalize@@GLIBC_2.2.5socket@@GLIBC_2.2.5.symtab.strtab.shstrtab.interp.note.gnu.property.note.gnu.build-id.note.ABI-tag.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.data.bss.comment#88 6XX$I|| Wöÿÿo  $a ÈÈøiÀÀðqÿÿÿo°°*~þÿÿoàà0À—BÐÐh¡œ  §  °00ð¹  U¿xx Å nÍp!p!LÛÀ!À!(åH=H-ñP=P-ýX=X-ð«H?H/¸@0 @000*@0€. À7!á:
ELF>@Ø;@8 @@@@ØØ  ˆˆP-P=P=ÀÈ`-`=`=ðð888 XXXDDSåtd888 Påtd!!!LLQåtdRåtdP-P=P=°°/lib64/ld-linux-x86-64.so.2GNUÀGNU'<Ÿ¡€-×¢FE·:gi¢^ÇGNUÑeÎmª -Ž2CaR|WJÆ %Õ g m"libc.so.6socketexithtonsstrncmpconnectputs__stack_chk_failprintfgetcharreadinet_addrclosesleep__cxa_finalize__libc_start_mainwriteGLIBC_2.4GLIBC_2.2.5_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableii ”ui žP=àX= @@Ø?à? è? ð?ø?h?p?x?€?ˆ??˜? ? ¨? °? ¸?À?È?Ð?óúHƒìH‹Ù/H…ÀtÿÐHƒÄÃÿ52/òÿ%3/óúhòéáÿÿÿóúhòéÑÿÿÿóúhòéÁÿÿÿóúhòé±ÿÿÿóúhòé¡ÿÿÿóúhòé‘ÿÿÿóúhòéÿÿÿóúhòéqÿÿÿóúhòéaÿÿÿóúh òéQÿÿÿóúh òéAÿÿÿóúh òé1ÿÿÿóúh òé!ÿÿÿóúh òéÿÿÿóúòÿ%Ý.Dóúòÿ%=.Dóúòÿ%5.Dóúòÿ%-.Dóúòÿ%%.Dóúòÿ%.Dóúòÿ%.Dóúòÿ% .Dóúòÿ%.Dóúòÿ%ý-Dóúòÿ%õ-Dóúòÿ%í-Dóúòÿ%å-Dóúòÿ%Ý-Dóúòÿ%Õ-Dóú1íI‰Ñ^H‰âHƒäðPTLÖH _H=Rÿ²-ôH=Ù-HÒ-H9øtH‹Ž-H…Àt ÿà€Ã€H=©-H5¢-H)þH‰ðHÁî?HÁøHÆHÑþtH‹e-H…ÀtÿàfDÀóú€=e-u+UHƒ=B-H‰åt H‹=F-èIþÿÿèdÿÿÿÆ=-]ÃÀóúéwÿÿÿóúUH‰åHƒÄ€‰}ŒdH‹%(H‰Eø1À¿èÏþÿÿHE HÇHÇ@HÇ@HÇ@HÇ@ HÇ@(HÇ@0HÇ@8HÇ@@HÇ@HH= ¸èûýÿÿÇEœè.þÿÿ‰Á‹EœP‰UœHcЈL H˜¶D < uÞHM ‹EŒºPH‰Î‰Çè‹ýÿÿHE HÇHÇ@HÇ@HÇ@HÇ@ HÇ@(HÇ@0HÇ@8HÇ@@HÇ@HHM ‹EŒºPH‰Î‰ÇèrýÿÿHE H‰ÆH=ú ¸è:ýÿÿHE ºH5û H‰ÇèÒüÿÿ…À…»þÿÿH=é èÎüÿÿH‹EødH3%(tèØüÿÿÉÃóúUH‰åHƒì0dH‹%(H‰Eø1Àº¾¿èGýÿÿ‰E܃}ÜÿuH=§ èrüÿÿ¿èøüÿÿH=¹ è\üÿÿHEàHÇHÇ@fÇEàH=¼ è§üÿÿ‰E俐èZüÿÿf‰EâHMà‹EܺH‰Î‰Çè°üÿÿ…ÀtH=• èüÿÿ¿è†üÿÿH=¯ èêûÿÿ‹E܉Çè™ýÿÿ‹E܉Çè&üÿÿ¸H‹UødH3%(tèÝûÿÿÉÃf.„óúAWL=Ã'AVI‰ÖAUI‰õATA‰üUH-´'SL)ýHƒìèOúÿÿHÁýt1Û€L‰òL‰îD‰çAÿßHƒÃH9ÝuêHƒÄ[]A\A]A^A_Ãff.„óúÃóúHƒìHƒÄÃClient.c: Enter the string : Client.c: from Server - %sexitClient.c: Client Exit...Client.c: socket creation failed...Client.c: Socket successfully created..127.0.0.1Client.c: connection with the server failed...Client.c: connected to the server..;H ïÿÿ|üïÿÿ¤ ðÿÿ¼ìðÿÿdÕñÿÿÔfóÿÿôlôÿÿÜôÿÿ\zRx €ðÿÿ/D$4ˆîÿÿðFJ w€?:*3$"\PïÿÿtHïÿÿàŒùðÿÿ‘E†C ˆ ¬jòÿÿûE†C ò DÌPóÿÿeFIŽE E(ŒD0†H8ƒG@n8A0A(B BBBxóÿÿà   øP=X=õþÿo ¨È ï P?P°ðÀ ûÿÿoþÿÿoÀÿÿÿoðÿÿo˜ùÿÿo`=0@P`p€ °ÀÐàð@GCC: (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.08X| È¨˜ À ð °   ø !`!P=X=`=P?@@ñÿ 0`! 7@FX=màyP=˜ñÿñÿ¡„"ñÿ¯X=À`=ÉP=Ü!ïP?l ð* û @FXk@ørŽ¡µÈÚù@2 A@N ]é‘b€e»@ÿ/r@~zûƒ•ª@¶ Ðã"ÿcrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.8060__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryclient.c__FRAME_END____init_array_end_DYNAMIC__init_array_start__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___libc_csu_finistrncmp@@GLIBC_2.2.5_ITM_deregisterTMCloneTableputs@@GLIBC_2.2.5write@@GLIBC_2.2.5_edata__stack_chk_fail@@GLIBC_2.4htons@@GLIBC_2.2.5printf@@GLIBC_2.2.5close@@GLIBC_2.2.5read@@GLIBC_2.2.5__libc_start_main@@GLIBC_2.2.5__data_startinet_addr@@GLIBC_2.2.5getchar@@GLIBC_2.2.5__gmon_start____dso_handle_IO_stdin_usedfunc__libc_csu_init__bss_startmainexit@@GLIBC_2.2.5connect@@GLIBC_2.2.5__TMC_END___ITM_registerTMCloneTablesleep@@GLIBC_2.2.5__cxa_finalize@@GLIBC_2.2.5socket@@GLIBC_2.2.5.symtab.strtab.shstrtab.interp.note.gnu.property.note.gnu.build-id.note.ABI-tag.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.data.bss.comment#88 6XX$I|| Wöÿÿo  $a ÈÈài¨¨ïqÿÿÿo˜˜(~þÿÿoÀÀ0ððÀ—B°°P¡œ  𧰠 à¹õ¿øø Å Í!!LÛ`!`!(åP=P-ñX=X-ý`=`-ð«P?P/°@0 @000*@0h. ¨7»:

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue