Connaitre le nombre de messages d'une boite
Résolu
bamoo
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je voudrais savoir s'il est possible de connaitre le nombre de messages dans une boite aux lettres, sans lire un seul message ?
avec msgrcv, y'a l'option IPC_NOWAIT, mais on va récupérer un message s'il y en a un, ce que je ne veux pas faire...
Merci
Je voudrais savoir s'il est possible de connaitre le nombre de messages dans une boite aux lettres, sans lire un seul message ?
avec msgrcv, y'a l'option IPC_NOWAIT, mais on va récupérer un message s'il y en a un, ce que je ne veux pas faire...
Merci
A voir également:
- Connaitre le nombre de messages d'une boite
- Boite gmail pleine - Guide
- Comment savoir si quelqu'un lit mes messages sur whatsapp - Accueil - Messagerie instantanée
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Boite gmail bloquée - Guide
- Se connecter à ma boite hotmail - Guide
7 réponses
Bonjour,
Attaque le serveur de messagerie POP en telnet selon la methode indiquée sur léa-linux :
http://lea-linux.org/trucs/item.23.html
Il y a peut-être mieux.
Attaque le serveur de messagerie POP en telnet selon la methode indiquée sur léa-linux :
http://lea-linux.org/trucs/item.23.html
Il y a peut-être mieux.
Salut bamoo,
Perl permet de faire celà avec le module Mail::MboxParser que tu trouveras sur CPAN : http://search.cpan.org/~vparseval/Mail-MboxParser-0.52/ en utilisant la fonction "nmsgs".
Dal
Perl permet de faire celà avec le module Mail::MboxParser que tu trouveras sur CPAN : http://search.cpan.org/~vparseval/Mail-MboxParser-0.52/ en utilisant la fonction "nmsgs".
Dal
Salut,
j'ai peut etre pas bien saisi la finalité de la question, mais il y a korn sous kde qui fait qqch comme ca : une petite boite miniature en dans la barre des taches, qui affiche le nb de message dans ma boite a laposte.net ... sans les telecharger
Phiphi
j'ai peut etre pas bien saisi la finalité de la question, mais il y a korn sous kde qui fait qqch comme ca : une petite boite miniature en dans la barre des taches, qui affiche le nb de message dans ma boite a laposte.net ... sans les telecharger
Phiphi
En fait, j'ai mal posé ma question.
J'ai parlé de msgrcv. Il ne s'agit pas d'un boite aux lettres au sens des mails mais d'une file de messages au sens IPC...
Désolé, je me suis mal exprimé.
Merci :-)
J'ai parlé de msgrcv. Il ne s'agit pas d'un boite aux lettres au sens des mails mais d'une file de messages au sens IPC...
Désolé, je me suis mal exprimé.
Merci :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut
dans "man msgctl", on peut lire çà :
Each message queue has a data structure associated with it, parts of
which may be altered by msgctl() and parts of which determine the actions
of msgctl(). The data structure is defined in <sys/msg.h> and contains
(amongst others) the following members:
struct msqid_ds {
struct ipc_perm msg_perm; /* msg queue permission bits */
struct msg *msg_first; /* first message in the queue */
struct msg *msg_last; /* last message in the queue */
u_long msg_cbytes; /* number of bytes in use on the queue */
u_long msg_qnum; /* number of msgs in the queue */
(...)
Je ne me suis jamais aventuré à programmer ce genre de trucs, mais il me semble que msg_qnum contient l'information que tu cherches.
Dal
PS : effectivement, ta question était très ambigüe
PS2 : beuark, du C
PS3 : le précédent PS n'a rien à voir avec une console de jeu, de même que le présent
dans "man msgctl", on peut lire çà :
Each message queue has a data structure associated with it, parts of
which may be altered by msgctl() and parts of which determine the actions
of msgctl(). The data structure is defined in <sys/msg.h> and contains
(amongst others) the following members:
struct msqid_ds {
struct ipc_perm msg_perm; /* msg queue permission bits */
struct msg *msg_first; /* first message in the queue */
struct msg *msg_last; /* last message in the queue */
u_long msg_cbytes; /* number of bytes in use on the queue */
u_long msg_qnum; /* number of msgs in the queue */
(...)
Je ne me suis jamais aventuré à programmer ce genre de trucs, mais il me semble que msg_qnum contient l'information que tu cherches.
Dal
PS : effectivement, ta question était très ambigüe
PS2 : beuark, du C
PS3 : le précédent PS n'a rien à voir avec une console de jeu, de même que le présent
Ok, c'est exactement ce qu'il me fallait, sauf que je voudrais maintenant compter le nombre de sémaphore d'un type donnée (le type que l'on passe dans msgrcv par exemple).
Si cela n'est pas possible, une solution est de faire 2 files des messages, mais j'aimerais savoir si c'est possible. En regardant la structure dans bits/msq.h, je n'ai rien vu pour faire ca...
Merci
Si cela n'est pas possible, une solution est de faire 2 files des messages, mais j'aimerais savoir si c'est possible. En regardant la structure dans bits/msq.h, je n'ai rien vu pour faire ca...
Merci
Salut bamoo,
Bon alors, je redécouvre les joies du C ... :/
Si ce que tu veux faire c'est analyser pour chaque message dans une file donnée le contenu de "long mtype; /* message type */" d'un message, je ne vois pas comment faire autrement que de récupérer le(s) message(s) en question.
Tu peux récupérer chaque message avec msgrcv dans la structure pointée par l'argument *msgp, faire ton analyse et réinjecter le message dans une seconde file que tu crées me semble-t-il avec msgget ("man msgget") et alimentes avec msgsnd ("man msgsnd").
Dal
Bon alors, je redécouvre les joies du C ... :/
Si ce que tu veux faire c'est analyser pour chaque message dans une file donnée le contenu de "long mtype; /* message type */" d'un message, je ne vois pas comment faire autrement que de récupérer le(s) message(s) en question.
Tu peux récupérer chaque message avec msgrcv dans la structure pointée par l'argument *msgp, faire ton analyse et réinjecter le message dans une seconde file que tu crées me semble-t-il avec msgget ("man msgget") et alimentes avec msgsnd ("man msgsnd").
Dal