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

Visual C++ Discussion :

Winsock2 et Wifi


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par d�faut Winsock2 et Wifi
    Bonjour,

    Je programme sous Visual C++ et je souhaite �tablir une connection UDP entre deux pc via une liaison Wifi. J'ai essay� avec Winsock2 mais ca ne marche pas en Wifi (r�seau ad hoc). Par contre j'ai test� en LAN la connexion s'�tablit parfaitement.
    Est ce qu'il est impossible d'�tablir la connection en Wifi en utilisant Winsock2? Pouvez vous m'aider svp?


    Merci d'avance.
    voici le code que j'ai impl�ment� pour le serveur.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    // IAMNet.cpp : définit le point d'entrée pour l'application console.
    //
     
    #include "stdafx.h"
    #include "IAMNet.h"
    #include <winsock2.h>
    #pragma comment(lib, "ws2_32.lib")
     
     
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
     
     
    // Seul et unique objet application
     
    CWinApp theApp;
     
    using namespace std;
     
    int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
    {
        int nRetCode = 0;
     
        // Initialise MFC et affiche un message d'erreur en cas d'échec
        if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
        {
            // TODO : modifiez le code d'erreur selon les besoins
            _tprintf(_T("Erreur irrécupérable : l'initialisation MFC a échoué\n"));
            nRetCode = 1;
        }
        else
        {
            // TODO : codez le comportement de l'application à cet emplacement.
            WSADATA WSAData;
            SOCKET sock;
            SOCKADDR_IN clientsin;
            SOCKET csock;
            SOCKADDR_IN sin;
            SOCKADDR_IN csin;
            CHAR buff;
            WSAStartup(MAKEWORD(2,0), &WSAData);
     
            cout<<"hello\n\r";
     
            sin.sin_addr.s_addr    = INADDR_ANY;
            sin.sin_family        = AF_INET;
            sin.sin_port        = htons(50014);
            sock = socket(AF_INET,SOCK_STREAM,0);
            bind(sock, (SOCKADDR *)&sin, sizeof(sin));
            gethostname(&buff, sizeof(buff));
            listen(sock, 0);
     
            int val = 0;
     
            while(1)
            {
                int sinsize = sizeof(csin);
                if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
                {
     
                    int size = sizeof(clientsin);
                    int succes = getpeername(csock,(SOCKADDR *)&clientsin, &size);
                    int a = WSAGetLastError();
     
                    send(csock, "Hello world!\r\n", 30, 0);
                    cout<<"client connected \n\r";
                }
            }
    }
     
        return nRetCode;
    }
    voici le code que j'ai impl�menter pour le client.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    // iamclient.cpp : définit le point d'entrée pour l'application console.
    //
     
    #include "stdafx.h"
    #include "iamclient.h"
    #include <winsock2.h>
    #pragma comment(lib, "ws2_32.lib")
     
     
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
     
     
    // Seul et unique objet application
     
    CWinApp theApp;
     
    using namespace std;
     
    int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
    {
        int nRetCode = 0;
     
        // Initialise MFC et affiche un message d'erreur en cas d'échec
        if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
        {
            // TODO : modifiez le code d'erreur selon les besoins
            _tprintf(_T("Erreur irrécupérable : l'initialisation MFC a échoué\n"));
            nRetCode = 1;
        }
        else
        {
            // TODO : codez le comportement de l'application à cet emplacement.
            WSADATA WSAData;
            WSAStartup(MAKEWORD(2,0), &WSAData);       
            SOCKET sock;
            SOCKADDR_IN sin;
            char *buff = new char[255];
            sin.sin_addr.s_addr    = inet_addr("180.0.0.2");
            sin.sin_family        = AF_INET;
            sin.sin_port        = htons(4148);
            sock = socket(AF_INET,SOCK_STREAM,0);
            bind(sock, (SOCKADDR *)&sin, sizeof(sin));
            connect(sock, (SOCKADDR *)&sin, sizeof(sin));
            while(1)
            {
                recv(sock, buff, sizeof(buff),0);
                cout<<buff;
            }
        }
     
        return nRetCode;
    }

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par d�faut
    Probl�me r�solu d�sol� j'avais mal attribu� les adresses r�seaux

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [infos] WiFi et s�curit�
    Par barucca dans le forum Hardware
    R�ponses: 5
    Dernier message: 14/06/2004, 10h38
  2. Reseau WIFI et Internet
    Par josoft dans le forum D�veloppement
    R�ponses: 5
    Dernier message: 25/02/2004, 12h32
  3. Partage ADSL sur r�seau Wifi
    Par malbaladejo dans le forum D�veloppement
    R�ponses: 7
    Dernier message: 21/02/2004, 18h16
  4. [WIFI] - Modem Routeur ADSL - RNIS
    Par Joelindien dans le forum Hardware
    R�ponses: 4
    Dernier message: 20/10/2003, 15h21
  5. r�seau cable crois� +r�seau wifi
    Par Fala fala dans le forum D�veloppement
    R�ponses: 6
    Dernier message: 24/09/2003, 13h36

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