IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Thread demande d'aide


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 29
    Points : 28
    Points
    28
    Par défaut Thread demande d'aide
    Bonjour à tous.

    j'ai tendance à croire que c impossible d'avoir une aide efficace sur un forum, mais bon je tente quand même en esperant que je me trompe.

    Pour un projet personnel, j'ai besoin d'utiliser les processus. jusqu'ici j'utilisait les classes de Qt, mais pour les comprendre à fond, je voudrai n'utiliser que les librairies fournies avec linux par défaut ( qu'on a dans /usr/include ).

    Ce qu'il me faudrait, c un tutoriel (ou un rapide résumé par l'un de vous, ou un man , un howto, tant que c précis ) comprenant au minimum les fichiers à inclure, les types spécifiques, les principales fonctions.



    la finalité, c'est de faire des classes pour gerer les socket de facon non bloquante.

    merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Pourquoi te compliquer la vie avec des classes Qt si tu souhaites utiliser les librairies *n*x standard ?
    la finalité, c'est de faire des classes pour gerer les socket de facon non bloquante.
    Il te faut agir sur le descripteur associé à ta socket :
    Citation Envoyé par man socket
    Un appel à fcntl(2) avec l'argument F_SETOWN permet de préciser un groupe de processus qui recevront un signal SIGURG lors de
    l'arrivée de données hors-bande, ou le signal SIGPIPE lorsqu'une connexion sur une socket SOCK_STREAM se termine inopinément.
    Cette fonction permet également de valider des entrées/sorties non bloquantes, et une notification asynchrone des évènements par
    le signal SIGIO. L'utilisation de F_SETOWN est équivalent à un appel ioctl(2) avec l'argument FSIOSETOWN ou SIOCSPRGR.
    Ceci impliquera en plus la mise en place d'un handler de signaux avec des focntions comme sigaction, sigaddset, etc ...

    Par ailleurs, tu peux directement utiliser fcntl avec l'option :
    F_SETFL
    Fixe les nouveaux attributs pour le descripteur de fichier à la valeur indiquée par arg. Les bits restants (mode
    d'accès, attributs de création) de arg sont ignorés. Sous Linux, cette commande ne peut changer que O_APPEND, O_NON-
    BLOCK, O_ASYNC, et O_DIRECT.
    C'est le flag O_NONBLOCK qui t'interesse

    j'ai tendance à croire que c impossible d'avoir une aide efficace sur un forum, mais bon je tente quand même en esperant que je me trompe.
    Et si tu as d'autres questions, n'hesite pas. (Mais tu as un peu de lecture devant toi )

    Bon courage
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    tu a répondu a ma question, merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. demande d'aide client serveur multi thread
    Par nico1488 dans le forum Réseau
    Réponses: 0
    Dernier message: 19/03/2010, 10h27
  2. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 20h38
  3. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 19h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo