Segmentation fault (core dumped) error C linux sockets -


Please send me the program through sockets, but this error shows the segmentation fault when I run it The server uses the thread to implement multiple clients. Thanks! This is my final project!

This is the server code:

  # include & lt; Stdio.h & gt; #to & lt include, string.h & gt; #to & lt include, stdlib.h & gt; Sys / socket.h & gt; #includes & lt; # Include & lt; ARPA / inet.h & gt; # Include & lt; Unistd.h & gt; #to & lt include, pthread.h & gt; Static const int BUFFER_SIZE = 1024; // Producer Halo Zero * Connection_Handler (Zero *); Int main (int argc, char * argv []) {int socket_desc, client_sock, c, * new_sock; Struct sockaddr_in server, client; // craker socket socket_desc = socket (AF_INET, SOCK_STREAM, 0); If (socket_desc == -1) // Error al-sial EL socket {printf ("Error Alla CREAR EL Socket"); } ("Socket creeda"); // Socket CREDA // Walos Dell Socket Server. Sin_family = AF_INET; // Socket IP server. Sin_addr.s_addr = INADDR_ANY; // EJECUTAR CON LA IP de la Macquina Attributes server. Sin_port = htons (9999); // Puerto / Asiciar Sokat Yuen Puerto If (bind (Socket_desk, (Structor Socadar *) and server, size (server)) and lieutenant; 0) {// Error en la escosity dealer ("Error al Esquire EL Socket AL Pureto Dell server "); Return 1; } ("Puerto Credo N.L. Server Coercion"); // Listen to Modo Escua Coxione Entrants (socket_desk, 3); // TRES CONEXIONES PERMITIDAS // ACEPTA puts the CONEXIONES ENTRANTES ("ALA Aspera de Coxione Entrants"); c = sizeof (straight sockaddr_in); While (client_sock = accept (socket_desc, (struct sockaddr *) and customer, (socklen_t *) & amp; c)) // conception aceptada {puts ("cexion azeptada"); Pthread_t sniffer_thread; New_sock = malloc (1); * New_sock = client_sock; If (pthread_create (& amp; sniffer_thread, NULL, connection_handler, (* * new_sock) & lt; 0) {perror ("NO SE PUDO CREAR EL THREAD"); Return 1; }} If (client_sock & lt; 0) {false ("FALLO"); Return 1; } Return 0; } / * * HABILITAR VARIAS CONEXIONES * * / Zero * connection_handler (Zero * socket_desc) {// Socket int sock = * (int *) socket_desc; Four buff [BUFFER_SIZE]; While (1) {FILE * fpIn = fopen ("/ mnt / SHARED / La.Lista.De.Schindler.Latino.avi", "r"); // archivo aynower ssize_t bytesRead = fread (buff, 1, size (buf), fpIn); If breaks (bytes read & lt; = 0); // EOF printf ("Yes lido% i bytes del archivo, avandolos ... \ n", (int) bytes read); If (send (sock, buff, bytes read, 0)! = Bytes read) // ENVIR NELL SOCKET (copy ("AL environment !!"); breakdown;}} // LIBERAR EL socket free (socket_desc); return 0;}   

This client code

 includes  #  gt; printf # include & lt; string.h & Gt; // Stellen # included & lt; sys / socket.h & gt; // include socket # & lt; arpa / inet.h & gt; // inet_addr static const int BUFFER_SIZE = 16 * 1024; Int main int argc, char * argv []) {int sock; Struct sockaddr_in server; // cracker socket sook = socket (ANNETET, SOCKRRM, 0); if (sock == -1) {printf ("no SE Pado Crayer EL Socket ");} (" EL Socket FUE CREADO "); server.sin_addr.s_addr = inet_addr (" 127.0.0.1 "); // IP server server. Sin_family = AF_INET; // Socket IP server .sin_port = htons (99 99); // Puerto / Contector AL server if (connect (sock, (Stroke Socadar *) and server, size (server)) 0) {mirror ("LA Kaafle Falo") ; Returns 1;} ("Kaizeson Estalecida \ n"); FILE * fpIn = fopen ("/ home / soporte / PELI", "w"); // archivo reichibudo if (fpIn) {char buf [BUFFER_SIZE]; While (1) {ssize_t bytes reacid = reclweel (sock, buff, saiff (buff), 0); If (bytes recepted and lieutenant; 0) membrane ("reception"); // Error AL RECIBIR (Breaks == 0) Repeated Bytes; // SE Cierra LA CONEXION AL FINAL DEL ARCHIVO printf ("Yes yes receipido% i bytes des la lard, escinido Ao archive ... \ n", (int) bytes reexpected); If (Efflait (buff, 1, bytes received, FPIN)! = (Size_T) bytes reaxed (return ("frame"); breakdown;}} Fclose (fpIn);} and printf ("Error, nobody read Arbor [% S] \ n "," / home / soporte / ESTEBAN "); close (sock); return 0;}    

I run this code with GDB, these are the back marks ... sigpipe found

socket crado puerto creda nl server contentant
a La espera de caxias attortes
Concepts Aceptada
CA Han Lido 11 bytes Dell archive, NYandolos ...
Yes, Lido 11 bytes del archivo, Evindolos ...

Program signal signpip, with broken pipes Finished.

Comments

Popular posts from this blog

Pass DB Connection parameters to a Kettle a.k.a PDI table Input step dynamically from Excel -

multithreading - PhantomJS-Node in a for Loop -

c++ - MATLAB .m file to .mex file using Matlab Compiler -