Lecture TCP non bloquante de Go : raisons et solutions de contournement
Dans Go, la lecture à partir des sockets TCP est intrinsèquement non bloquante, ce qui signifie que les données peuvent ne soit pas facilement disponible lorsque la fonction Read est appelée. Ce comportement contraste avec les opérations de lecture bloquantes du C.
Pourquoi la lecture TCP est-elle non bloquante en Go ?
La communication TCP implique un flux continu d'octets. Le destinataire ne peut pas intrinsèquement déterminer les limites d'un message ou quand il a reçu un ensemble complet de données.
Est-il possible de bloquer la lecture TCP dans Go ?
Non, il n'est pas directement possible de forcer l'opération de lecture TCP de Go à bloquer.
Solutions de contournement pour bloquer les lectures dans Go
Pour obtenir un comportement de type blocage, vous peut utiliser les techniques suivantes :
Autres considérations
En plus de traiter les lectures TCP non bloquantes, l'exemple de code fourni :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!