Socket qui coupe la connection immédiatement

Résolu
trafounet Messages postés 37 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 20 décembre 2006 - 25 nov. 2006 à 11:08
trafounet Messages postés 37 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 20 décembre 2006 - 25 nov. 2006 à 11:25
Bonjour à tous,

j'ai un petit problème avec les sockets, je veux créer un serveur, mais lorsque un client essaye de se connecter, la connection est accepté puis tout de suite coupée...
je vois pas du tout d'où ca peut venir (je suis sous vc++ 2005 express edition)
#include <winsock2.h>
#pragma comment(lib, "WS2_32.lib")
#include <windows.h>
#define WM_SOCKET WM_USER+100

const int port=10;
SOCKET _socket;
SOCKET clientSocket;

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

switch (message)                 

    {

    case WM_SOCKET:

        switch(WSAGETSELECTEVENT(lParam))

        {

        case FD_ACCEPT:

            clientSocket = accept(_socket,0,0);

            break;

        case FD_READ:

        break;

        case FD_CLOSE:

        break;

        }

        case WM_CREATE:

            WSACleanup();

            WSADATA wsaData;

            WSAStartup(MAKEWORD(2,2),&wsaData);

            _socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

            SOCKADDR_IN infoSocket;

            infoSocket.sin_family = AF_INET;

            infoSocket.sin_addr.s_addr = INADDR_ANY;

            infoSocket.sin_port = htons(port);

            bind(_socket,(SOCKADDR*) &infoSocket, sizeof(infoSocket));

            listen(_socket,SOMAXCONN);

WSAAsyncSelect(_socket,hwnd,WM_SOCKET,FD_ACCEPT|FD_READ|FD_CLOSE);

            break;

}

int WINAPI WinMain(...)

{

création de la fenetre...

}

merci d'avance

1 réponse

trafounet Messages postés 37 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 20 décembre 2006
25 nov. 2006 à 11:25
c'est bon j'ai trouvé le problème, je cherchait compliqué alors que c'était juste un break qui manquait pour la case WM_SOCKET...
désolé d'avoir posté un message inutile
3
Rejoignez-nous