begin process at 2012 05 29 16:48:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

prob wsaasyncselect (encore)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

prob wsaasyncselect (encore)

mercredi 18 février 2004 à 12:03:58 | prob wsaasyncselect (encore)

flatou

je suis tjr ds la prog d'un client/serveur, et pour le serveur j'ai comme un prob que je n'arrive pas a resoudre.
Au lancement de mon serveur, j'ai cette fonction de lancer :

void InitSocket(HWND fHwnd)
{
WSAStartup(MAKEWORD(2,0), &wsa);
s = socket(AF_INET, SOCK_STREAM, 0);

if(SOCKET_ERROR == WSAAsyncSelect(s, fHwnd, WM_SOCKET, FD_ACCEPT|FD_CLOSE))
{
Affiche(fHwnd, "Erreur WSAAsyncSelect 1");
}

sin.sin_family = AF_INET;
sin.sin_port = htons(PORT);
sin.sin_addr.S_un.S_addr = INADDR_ANY;

SinSize = sizeof(sin);

if(bind(s,(sockaddr *) &sin, sizeof(sin)) == SOCKET_ERROR)
{
Affiche(fHwnd, "Erreur bind");
}

if(listen(s, 1) == SOCKET_ERROR)
{
Affiche(fHwnd, "Erreur listen");
}
}

ds ma fonction CallBack j'ai :

case WM_SOCKET:
{
switch (WSAGETSELECTEVENT(lParam))
{
case FD_ACCEPT:
{
c = accept(s, (sockaddr *) &sin, &SinSize);
if(c == INVALID_SOCKET)
{
Affiche(hwnd, "Erreur accept");
}
if(SOCKET_ERROR == WSAAsyncSelect(c, hwnd, WM_SOCKET, FD_READ|FD_CLOSE))
{
Affiche(hwnd, "Erreur WSAAsynclect 2");
}
}
case FD_READ:
{
recv(c, buffer, 255, 0);
Affiche(hwnd, buffer);
}
case FD_CLOSE :
{
closesocket(c);
}
}
}

la fonction Affiche() affiche une msgbox avec le texte défini
le probleme est que lorsque j'etablie une connection, j'ai une message box qui s'affiche avec rien comme texte (c'est le Affiche(hwnd, buffer)), et lorsque je fait un send avec le client, rien ne se passe.
qqn aurait-il une solution ?
merci a ceux qui s'interesseront a mon probleme
mercredi 18 février 2004 à 12:28:16 | Re : prob wsaasyncselect (encore)

aardman

Membre Club
Salut,
Faudrais revoir la syntaxe des switch(...)
Apres chaque case il faut mettre un break voire un return.
La, quand tu recois un FD_READ, ben tu execute un FD_READ suivi d'un FD_CLOSE.


mercredi 18 février 2004 à 12:55:58 | Re : prob wsaasyncselect (encore)

flatou

c'est vrai, c'est un oubli de ma part
merci pour avoir trouver l'erreur


Cette discussion est classée dans : affiche, socket, hwnd, sin, fd


Répondre à ce message

Sujets en rapport avec ce message

Socket C et api [ par shadow1779 ] Bonjour,j'ai un petit prob avec un bot que j'essai de faire avec l'api et les sockets en C, pour l'instant on ne peux que cliquer sur le bouton connec winsock et WSAAsyncSelect [ par lektrosonic ] bonjour, j'ai code deux petites applications (client et serveur) et aux deux g applique la WSAAsyncSelect pour FD_READ, FD_CLOSE , FD_CONNECT (pour le Probleme entre DLL et socket [ par XKaliBur ] Le probleme est que je réalise un hook sur mon clavier et que chaque frappe interceptée je veux l'envoyer via un socket à un serveur, mais des que j'e [C++][SOCKET]Probleme envoi [ par raton ] Salut à tous.Voila je suis en train de dev une petite dll en C++ utilisant des SOCKET. En réception, pas de problème, mais en envoi... Pas moyen.Lorsq Socket qui coupe la connection immédiatement [ par trafounet ] 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 acc Problème linkage [ par M5i9k ] Salut à tous!Je débute les socket en c++ et j'ai un problème à la compilation, est-ce que quelqu'un pourrait m'expliquer, voici mon code :// Serveur T [C] socket [ par sheorogath ] bonjour ,j'essai de me faire une sorte de lib client dans un premier temps pour utiliser les socket mais avec mon code je ne peut me connecter null pa Client serveur [ par fanch314 ] Je que le serveur et le client échange par internet.Le serveur ne voit pas de client connectéEt le buffer du client contient nimporte quoi.En gros ils probleme bizzare.... [ par lektrosonic ] Bonsoir, j ai code ce client...Code C:#include #include #include #define ID_CONNECT 1#define ID_SEND 2#define WM_SOCKET (WM_APP + 100)<br Problème d'IP Client avec les winsock [ par Cphil51 ] Boujour a tous.Je m'interesse en ce moment aux socket sous windows et j'ai un petit probleme actuellement. J'aimerais savoir comment récupérer l'IP d'


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales