I implemented a client-server program that allows to transfer files b/w them. The server is using select() to check changes of sockets. Every test is good except this one: - When server is sending a huge file to client (not yet finished), client hit "Ctrl-C" to kill the client program, then the server is killed too :(
The snippet:
fprintf(stderr,"Reading done, sending ...\n"); if(send(sockClient, sendBuf, chunk_length, 0) < 0) { printf("Failed to send through socket %d \n", sockClient); return -1; } fprintf(stderr,"Sending done\n"); When the client is killed, the server terminal displays:
user$./server Reading done, sending ... Sending done Reading done, sending ... Sending done Reading done, sending ... Sending done Reading done, sending ... user$ What's wrong with it? Thanks for your answers!