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

Réseau C Discussion :

problème de librairies...


Sujet :

Réseau C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 20
    Par défaut problème de librairies...
    Bonjour
    J'ai développé une application client serveur sur linux en C, et je voudrais faire passer la partie cliente sur windows, mais j'ai des problèmes au niveau de ces librairies :
    - sys/socket.h
    - netinet/in.h
    - arpa/inet.h
    - unistd.h
    - netdb.h

    Quelqu'un connaîtrait-il leur équivalent sous windows ?
    merci pour votre aide...

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Par défaut
    J'ai jamais fait de serveur/client autre que sur Linux/Unix, mais sur windows ca doit être du style:
    -#include <winsock.h>

  3. #3
    HRS
    HRS est déconnecté
    Membre chevronné
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par défaut
    le mieux est de recenser toutes les fonctions () que vous utilisez

    et de les rechercher dans compiloC\INCLUDE

    sachant aussi que la plupart des .h sont appelés par

    #include <windows.h>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 58
    Par défaut
    Il a raison hrs !

    Le mieux c de voir quelles fonctions ne sont pas reconnu lorsque tu compile ton prog et d'inclure la librairie dans laquelle cette fonction est declarée... et ce pour toute les fonctions qui pose pb...

  5. #5
    Expert éminent

    Avatar de Anomaly
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 380
    Billets dans le blog
    1
    Par défaut Re: problème de librairies...
    Citation Envoyé par Mickey34
    - sys/socket.h
    - netinet/in.h
    - arpa/inet.h
    - netdb.h
    Pour ceux-là tu trouveras tout dans winsock.h en effet.

    - unistd.h
    Il n'y a pas d'équivalents.

    De manière générale, si tu utilises les sockets sous Windows, il faut faire attention aux points suivants :
    - il faut initialiser Winsock avant toute chose avec la fonction correspondante (me rappelle plus le nom )
    - read et write ne fonctionnent pas sous windows ! Il faut toujours utiliser send et recv (ou leurs variantes non-connectés)

  6. #6
    Membre éclairé Avatar de Hypnos
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 87
    Par défaut
    pour initialiser Winsock :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    WSADATA wsaData;	
     
    if(WSAStartup(MAKEWORD(1, 1), &wsaData))
    {
       printf("WSA n'a pas pu être initialisé.\n");
    }

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 20
    Par défaut
    en fait toutes les fonctions qui concernent plus ou moins le réseau ne marchent pas :
    getservbyport()
    htons()
    getprotobyname()
    send()
    connect()
    inet_addr()
    socket()

    Faut-il que je reprenne tout mon programme ?
    Et si j'arrivais a faire tourner mon programme, est ce que la partie cliente (qui sera codée en C sous windows) pourra se connecter à la partie serveur (qui est développée en C sous Linux) ?
    Merci à tous...

  8. #8
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Ou alors tu utilises un lib de plus haut niveau qui existe sous les 2 os ...

  9. #9
    fd
    fd est déconnecté
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Par défaut
    je ne comprends pas ces fonctions devraient marcher.
    tu fais bien le WSAStartup ?
    c'est quoi le symptome ?

    si tu utilise le même protocole tu ne devrai pas avoir de pbm entre win et linux

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 20
    Par défaut
    J'ai trouvé un bon moyen de résoudre mes problèmes de compatibilité, j'utilise cygwin (pour compiler le source sous windows), et la bibliothèque de liaison dynamique cygwin1.dll. Il me suffit de mettre cettre bibliothèque dans le meme répertoire que mon executeur et le tour est joué
    je vais aussi essayer le WSAStartup pour voir comment ça fonctionne
    Merci à tous !

  11. #11
    Membre éclairé Avatar de Hypnos
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 87
    Par défaut
    paix et félicité,

    Cygwin c'est bien, mais justement à cause de cette Dll, les performances sont diminuées. Car cette Dll s'occupe de l'émulation des fonctionnalités Linux sur Windows, il y a donc plein de temps qui est pris pour cette émulation avant d'exécuter ces fonctions, ton programme sera donc bien moins performant que si tu l'avais compilé en 100% Windows.

    Utilise plutôt Mingw alors (www.mingw.org).

  12. #12
    zul
    zul est déconnecté
    Membre chevronné Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Par défaut
    Techniquement ces fonctions marchent . N'a tu pas oublié de lié la librairie statique ws2_32.lib ou .a avec ton projet ? Peut on voir un bout de code ?

    ZUL

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Août 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 20
    Par défaut
    tant pis pour les performences, comme la partie cliente (Windows) ne fait qu'une seule chose : envoyer une requete et c'est tout, ça ne me pose pas de problèmes, mais c'est bien de le savoir , si je dois dans le futur étoffer cette partie, je chercherai peut etre une autre solution

    Sinon, que veux tu savoir zul ? c'est juste un petit prog qui envoie une requete à un cluster pour exécuter un job

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

Discussions similaires

  1. GCC : problème de librairies...
    Par Pico10 dans le forum Autres éditeurs
    Réponses: 10
    Dernier message: 11/07/2007, 22h05
  2. problème de librairie wbemidl.h
    Par Sachiel31 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 03/08/2006, 16h47
  3. Problème avec librairie iostream.h
    Par Rafoo dans le forum MFC
    Réponses: 3
    Dernier message: 22/07/2005, 13h20
  4. problèmes de librairies jpeg
    Par ketchupi dans le forum Bibliothèques
    Réponses: 6
    Dernier message: 20/07/2005, 08h57
  5. [Delphi 2005] : Problème de librairies.....
    Par babyface dans le forum Composants VCL
    Réponses: 1
    Dernier message: 07/07/2005, 14h15

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