Αποκλείεται η σύνδεση;
Αποκλείεται η σύνδεση;

Βίντεο: Αποκλείεται η σύνδεση;

Βίντεο: Αποκλείεται η σύνδεση;
Βίντεο: Σύνδεση Ηλεκτρικής κουζίνας 2024, Μάρτιος
Anonim

συνδέω-συωδεομαι είναι ένα μπλοκάρισμα καλέστε από προεπιλογή, αλλά μπορείτε να το κάνετε όχι μπλοκάρισμα περνώντας για να τοποθετήσετε τη σημαία SOCK_NONBLOCK. συνδέω-συωδεομαι () μπλοκ μέχρι την ολοκλήρωση της χειραψίας 3 κατευθύνσεων TCP. Η χειραψία στην πλευρά ακρόασης γίνεται από τη στοίβα TCP/IP στον πυρήνα και ολοκληρώνεται χωρίς ειδοποίηση της διαδικασίας χρήστη.

Ομοίως, ρωτάται, τι είναι η μπλοκαρισμένη και η μη μπλοκαρισμένη πρίζα;

Σε μπλοκάρισμα λειτουργία, recv, αποστολή, σύνδεση (μόνο TCP) και αποδοχή (μόνο TCP) πρίζα Οι κλήσεις API θα ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ επ' αόριστον μέχρι να πραγματοποιηθεί η ζητούμενη ενέργεια. Σε μη - μπλοκάρισμα λειτουργία, αυτές οι λειτουργίες επιστρέφουν αμέσως. επιλέξτε θα ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ μέχρι το πρίζα είναι έτοιμο.

τι είναι η λειτουργία αποκλεισμού; ΕΝΑ λειτουργία αποκλεισμού βασικά υπολογίζει για πάντα. Αυτό σημαίνει μπλοκάρισμα . Αλλα λειτουργίες αποκλεισμού θα περίμενε να συμβεί το IO. ένα μη μπλοκάρισμα Σύστημα IO σημαίνει α λειτουργία ξεκινά μια ενέργεια IO, στη συνέχεια τίθεται σε αδράνεια και στη συνέχεια χειρίζεται το αποτέλεσμα της ενέργειας IO όταν συμβεί.

Στη συνέχεια, το ερώτημα είναι, είναι αποδεκτό το κλείδωμα της υποδοχής;

αποδέχομαι () μπλοκάρει τον καλούντα μέχρι να υπάρξει σύνδεση. Εάν δεν υπάρχει διαθέσιμος χώρος για μηνύματα στο πρίζα για να κρατήσετε το μήνυμα που θα μεταδοθεί και, στη συνέχεια, η αποστολή() μπλοκ κανονικά. Εάν δεν υπάρχουν διαθέσιμα μηνύματα στο πρίζα , η κλήση recv περιμένει να φτάσει ένα μήνυμα.

Είναι επιλογή μπλοκ;

Εάν το όρισμα timeout δείχνει ένα αντικείμενο τύπου struct timeval του οποίου τα μέλη είναι 0, επιλέγω () δεν ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ . Εάν το όρισμα χρονικού ορίου είναι NULL, επιλέγω () μπλοκάρει έως ότου ένα συμβάν αναγκάσει μια από τις μάσκες να επιστραφεί με μια έγκυρη (μη μηδενική) τιμή.

Συνιστάται: