Socket C ++ send / recv vs écriture / lecture

Dans le socket ssize_t send(int __fd, const void* __buf, size_t __n, int __flags) nous avons cet argument __flags . MSG_NOSIGNAL drapeau MSG_NOSIGNAL tout au long de la connexion. Existe-t-il un moyen d’obtenir cette fonctionnalité d’indicateur en write ? Comme j’utilise ce drapeau tout au long de la connexion, il peut être défini lors de la création du socket . N’hésitez pas à mentionner s’il existe des moyens de réaliser toutes les fonctions __flag .

Non. Lorsque vous écrivez dans un socket avec write cela revient à appeler call send avec le paramètre flags mis à zéro.

De la référence officielle POSIX

Si fildes fait référence à un socket, write () doit être équivalent à send () sans aucun jeu de drapeaux.


Il existe cependant un moyen de “définir” cet indicateur de manière permanente, à savoir ignorer le signal SIGPIPE :

 signal(SIGPIPE, SIG_IGN);