2013-07-04 1 views
0

Le flux créé par push_list_add() sera terminté chaque fois que le client ou le serveur ferme la connexion.
Mais comment puis-je fermer une connexion côté serveur?
Ce dont j'ai exactement besoin, c'est d'un moyen de supprimer un flux qui est créé par push_list_add().
Qui peut dire comment supprimer une liste push (ou un flux) par programme, dans gwan?J'ai besoin d'une fonction de push_list_remove

merci d'avance.

Répondre

0

Dans le rappel utilisé pour générer les données à pousser, vous pouvez implémenter n'importe quel mécanisme que vous souhaitez arrêter de pousser à un moment donné ou lorsque les données à pousser sont épuisées. Un simple return(0) de make_fn() ou push_fn() fera le travail.

Le rappel free_fn() vous permet alors de libérer toutes les données allouées, les descripteurs de fichiers étroits établis avec un back-end, etc.

Voir l'exemple comet.c pour plus de détails.

+0

Je pense que j'ai mal interprété le nom de la fonction de push_list_add. –

+0

Je suppose/interpréter cette fonction est d'ajouter une connexion dans la liste de connexion pour pousser des données aux clients. Donc, si je mets un retour (0) dans make/push_fn fermera la liste, mais pas une connexion spécifique. Ce que je veux réaliser est de fermer/enlever une connexion de la liste de connexion. –

+0

Appelez simplement close (fd); quand tu sens que c'est nécessaire. Votre code ira dans le rappel push_fn() – Gil