Hello,
I'm write a C program.
How can i check if the client is closed?
I'm write a TCP Server and Client
Thanks for helping me
Hello,
I'm write a C program.
How can i check if the client is closed?
I'm write a TCP Server and Client
Thanks for helping me
I found out:
just add:
Code:if (recv(newSocket, file, 1024, 0)) { } else { printf("disconnection from %s:%" PRIu16 "\n", inet_ntoa(newAddr.sin_addr), ntohs(newAddr.sin_port)); close(newSocket); break; }
Or there is read the manual page.
-1 would also evaluate to true in your code.Code:RETURN VALUE These calls return the number of bytes received, or -1 if an error occurred. In the event of an error, errno is set to indicate the error. When a stream socket peer has performed an orderly shutdown, the return value will be 0 (the traditional "end-of-file" return). Datagram sockets in various domains (e.g., the UNIX and Internet domains) permit zero-length datagrams. When such a datagram is received, the return value is 0. The value 0 may also be returned if the requested number of bytes to receive from a stream socket was 0.
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.