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

Développement Discussion :

Crére un client/serveur sous linux en TCP


Sujet :

Développement

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 74
    Points : 13
    Points
    13
    Par défaut Crére un client/serveur sous linux en TCP
    Bonjour, voila j'ai un petit soucis.
    J'ai recherché des codes pour essayer de me fournir une petite facon de faire un client/serveur TCP sous linux et a chaque fois je tombe sur ce *#!:* de #include <winsock2.h> qui est fait uniquement pou windows (si mes souvenirs sont exacts).
    Donc, j'aurais aimé savoir si quelqu'un connait un petit site ou je pourrais trouver mon bonheur, car apparemment, ca ne cours pas les rues.
    En vous remericant
    A++ NicosH

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 74
    Points : 13
    Points
    13
    Par défaut j'avais oublier de dire
    re
    voila, j'avais oublier de dire que j'ai quand meme tenter quelque chose,
    j'ai repris des sources justement fait pou windows en implémentant (normalement) tout ce qu'il faut pour linux. Mais il doit y avoir des structures différentes encore dans les deux (quand es-ce-qu'ils se mettront d'accord ?) et j'obtiens donc cette erreur :
    error: aggregate `SOCKADDR_IN serveur' has incomplete type and cannot be defined

    je ne sais pas si ca peut aider
    A++

  3. #3
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Bonjour,

    Un peu de lecture sur les sockets :
    http://c.developpez.com/WalrusSock/

    En anglais, mais plus complet, et orienté Unixoïde : http://www.ecst.csuchico.edu/~beej/guide/net/
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    J'ai mis un exemple de code sous www.jpmeyer.biz
    c'est vieux de 10 ans, mais ca marche toujours

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 74
    Points : 13
    Points
    13
    Par défaut Merci :D
    Merci vous deux
    Je regarde ca tout de suite (je dois rendre un truc ce soir et c'est tendu).
    En fait, petit à petit, je vais me faire un jeu multi-joueur en opengl, et normalement ca devrait le faire en apprenant petit a petit à faire un petit client/serveur.
    Ensuite je vais voir avec les mutex pour que les différents serveurs dédié au client puisse modifier des valeurs.
    Au fait, il faut 1 seul mutex ou autant de mutex qu'il y a de valeur ?
    A + tard

  6. #6
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut Re: Merci :D
    Citation Envoyé par Darknicosh
    Ensuite je vais voir avec les mutex pour que les différents serveurs dédié au client puisse modifier des valeurs.
    Au fait, il faut 1 seul mutex ou autant de mutex qu'il y a de valeur ?
    A + tard
    Euh, ca dépend de ce que tu veux faire. Il faut globalement un mutex pour un ensemble de valeurs qui seront accédées en même temps.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 74
    Points : 13
    Points
    13
    Par défaut
    ah, un mutex pour un ensemble de valeur accéder en même temps ...
    Le "en meme temps", es-ce-qu'on peut le faire dans un procédure (pas couteuse en temps) et rendre le mutex a la fin ?
    le truc sur lequel j'ai un peu de mal ce sont les pthread_mutex_lock.
    avant je bossais sous java, donc ca allait es-ce-que les pthread_mutex_lock ce sont des mutex réservés à des threads ou ce sont des threads comme les autres que l'on peut appliquer à notre ensemble de valeur ? (désolé si je ne suis pas tres explicite, mais la vodka Malabar d'hier soir ma retourner ).

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 74
    Points : 13
    Points
    13
    Par défaut
    tien, j'ai trouvé a peu pres ce que je voulais sur les pthread_mutex_init, mis a part de comment on fait pour l'initialiser sur un ensemble de valeur que je lui aurait indiquer ...
    Es-ce normal ? j'ai trouver un truc sur le man mais ce n'était pas tres concluant

  9. #9
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Citation Envoyé par Darknicosh
    ah, un mutex pour un ensemble de valeur accéder en même temps ...
    Le "en meme temps", es-ce-qu'on peut le faire dans un procédure (pas couteuse en temps) et rendre le mutex a la fin ?
    .
    Un verrou de type mutex te garantit que les données que tu protèges ne pourront être accédées en même temps.
    Mais il n'y a là-dedans absolument aucune notion de temps : tu peux très bien prendre un mutex, et le rendre 3 jours plus tard. Simplement, pendant ce temps là, les autres fonctions qui ont besoin de ce même verrour pour faire d'autres opérations ne pourront avoir lieues (elles resteront bloquées sur l'attente du mutex).

    Pour le fonctions que tu cites, je crains de ne pas être compétent.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 74
    Points : 13
    Points
    13
    Par défaut C BON
    C'est bon, je viens de réussir mon premier client/serveur en C avec deux mutex !!! QUE C BO :o (d'ailleurs, es-ce-que cela interresserait quelqu'un ?)
    Maintenant, le but est de faire en sorte d'envoyer non pas une chaine de caractère, mais plutot des bits ...
    Es-ce-que je peux utiliser toujours les send et les recv pour ca ? (en construisant des bits que je vais découvrir ).
    Et es-ce-qu'il y a un moyen pour appeler une procédure toutes les (disons) 20 millisecondes ?
    Encore merci

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 74
    Points : 13
    Points
    13
    Par défaut
    tien, je viens de voir qu'il existait des bit_vector, mais es-ce-que l'on peut raisonnablement envoyé ce genre de chose ? (j'imagines qu'on peut récupérer ca avec un autre bit_vector de l'autre coté) mais ca doit être tendu non ?

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 74
    Points : 13
    Points
    13
    Par défaut
    Quelle serait donc la suite logique ? Apres avoir fait un client/serveur avec envoie et réception de chaine de caractère et gestion de mutex, es-ce-qu'il faut que j'essaie de voir pour envoyer des bit_vector ? si oui, comment fait-on ? Es-ce-qu'il y a une autre forme que le bit_vector pour faire du client/serveur (mise à part, les chaines de caractères) ?

Discussions similaires

  1. Un antivirus Client/serveur sous linux
    Par Hacksign dans le forum Administration système
    Réponses: 1
    Dernier message: 16/05/2012, 16h47
  2. Réaliser un client-serveur sous Linux
    Par Ksmar dans le forum Linux
    Réponses: 2
    Dernier message: 17/01/2012, 18h04
  3. Client Oracle sous Linux
    Par masterfangorn dans le forum Oracle
    Réponses: 3
    Dernier message: 18/10/2005, 20h33
  4. Réponses: 1
    Dernier message: 17/04/2004, 18h41
  5. Client FTP sous Linux ?
    Par DgG dans le forum Réseau
    Réponses: 7
    Dernier message: 26/01/2004, 20h26

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