CFSocket et algorithme de nagle [résolu]
Bonjour,
J'utilise l'API CFSocket et j'aimerais désactiver l'algorithme de Nagle. Sous Linux, je sais qu'il existe une constante TCP_NODELAY qui permet cela. Le problème est que cette constante ne semble pas exister en Cocoa.
Comment dois-je procéder pour évitez d'avoir à attendre les accusés pour envoyer de nouvelles données ? Je souhaite aussi que les données soit envoyées directement plutôt que d'attendre dans un buffer si d'autres données ne doivent pas arriver ?
Si quelqu'un a de la documentation sur le fonctionnement précis de la fonction send() ou CFSocketSendData sur os x cela m'interesse beaucoup ?
J'utilise l'API CFSocket et j'aimerais désactiver l'algorithme de Nagle. Sous Linux, je sais qu'il existe une constante TCP_NODELAY qui permet cela. Le problème est que cette constante ne semble pas exister en Cocoa.
Comment dois-je procéder pour évitez d'avoir à attendre les accusés pour envoyer de nouvelles données ? Je souhaite aussi que les données soit envoyées directement plutôt que d'attendre dans un buffer si d'autres données ne doivent pas arriver ?
Si quelqu'un a de la documentation sur le fonctionnement précis de la fonction send() ou CFSocketSendData sur os x cela m'interesse beaucoup ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Du coup soit tu peux tout gérer avec un socket natif (= socket BSD = socket "Linux") et l'utiliser comme sous Linux, soit tu veux utiliser l'API CFSocket parce qu'elle est plus pratique, et du coup tu peux commencer en créant le socket natif/BSD/Linux, le configurer avec TCP_NODELAY, ... et ensuite créer un CFSocket à partir de ce socket natif
Je pensais que la constante TCP_NODELAY n'était pas définie car introuvable dans la documentation. En fait elle est bien définie dans le fichier "netinet/tcp.h".