J'utilise write() sur un socket de données ouvert dans l'implémentation FTP pour envoyer le fichier. Mais après avoir écrit quelques données, il est suspendu pendant un certain temps; et après cela, il revient avec une erreur de tuyau cassé. toute aide dans ce domaine sera grandement appréciée. Mon processus lit les paquets d'un buff et écrit dans le socket. J'ai remarqué ce problème avec une bande passante accrue. Si j'ai augmenté le nombre de paquets à traiter, le problème arrive. J'utilise FreeBSD.Erreur de tuyau cassé
J'utilise deux threads on lit les paquets et écrit dans un buffer ... le second thread lit ces paquets à partir de buffer et écrit dans socket.
Merci pour votre aide Alexander
Vous n'avez pas fourni suffisamment d'informations pour diagnostiquer le problème. Un bon point de départ est un morceau de code minimum compilable qui démontre le problème. –
J'utilise deux threads on lit les paquets et écrit dans un buffer ... le second thread lit ces paquets à partir du buffer et les écrit dans socket. – alexander
Je dois me demander pourquoi vous utilisez des threads? Habituellement, les programmes ne font que lire et écrire, en utilisant des E/S non bloquantes et en interrogeant ou en sélectionnant. Les threads * fonctionneront * mais présenteront autant de chances pour les courses et les bugs étranges ... –