Prüfen Sie die Verbindung offen oder geschlossen ?(in C Linux)

In der socket-Programmierung unter Linux brauche ich zum schreiben von Daten in die Buchse, aber ich weiß nicht socket öffnen oder zu schließen . wie ich weiß, dass socket öffnen und schließen, ohne zu Lesen ?

printf("befor read%d\n", n);
bzero(buffer, MAX_SIZE_BUFFER);
n = read(sockfd, buffer, MAX_SIZE_BUFFER - 1);
printf("after read%d\n", n);
if (n <= 0)
{
    break;
}
printf("befor write%d, s: %d \n", n , sockfd);

n = write(newsockfd, buffer, n);
if (n <= 0)
{
    break;
}

Ich lese aus sockfd, und ich sicher, dass diese Verbindung offen ist . Wann write buffer in newsockfd ich weiß nicht, newsockfd ist öffnen oder schließen, wie Sie überprüfen, newsockfd geschlossen ist ?


Ich weiß, problem . in der Mitte des Schreibens Verbindung geschlossen . zum Beispiel schreiben 1024 Daten in 500-Verbindung geschlossen und das Programm geschlossen. wie um dies zu vermeiden ?

Schreibe einen Kommentar