Socket sans fenêtre

Signaler
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
-
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
-
Comment faire (avec exemple concret si possible) pour recevoir des messages de sockets (fd_recv, fd_connect, fd_accept) sans avoir de fenêtre (et sans créer de fenêtre invisible à chaque fois car je veux faire environ une centaine de sockets) ?

CyberP,
Celui qui dit que toute question a une réponse

12 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
En gros si je comprend bien tu veux créer une fenetre par socket et que chacune de ces fenetres reste invisible ?

Shell
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
2
Non je ne veux justement pas faire ça

Je veux créer environ une centaine de sockets, donc pas question de faire une fenêtre à chaque fois (ça utiliserait trop de mémoire) donc je demande s'il y a un autre moyen de savoir quand une connexion reçoit des données, est connectée, etc sans utiliser de fenêtre (et donc sans utiliser la fonction WSAAsyncSelect() qui utilise des fenêtres)

CyberP,
Celui qui dit que toute question a une réponse
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Et sur 1 seule fenetre on ne peut pas ssavoir de quel socket vient la notification ?
Faudrait que aardman passe par ici pour eclaircir ce point.

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Mais si, dans la wndProc c'est wParam qui identifie le socket donc 1 seule fenetre suffit.

ciao...
BruNews, MVP VC++
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
WSAAsyncSelect utilises des fenetres ???
Ca veut rien dire ce que tu dis.
WSAAsynSelect, se sert de ta fonction de CallBack rien de plus.

Puis pour ton histoire de socket, tu peux tout simplement créer une appli en mode console avec une fonction de CallBack pour traiter tes messages, et tu déclares un tableau de 100 sockets.

Après je vois pas ou sa peut poser problème.

Shell
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
2
Oui mais j'ai créé une classe par utilisateur (donc par socket), une fois que j'ai utilisé WSAAsyncSelect, j'ai le wParam et après ? Comment je fais pour savoir à quelle socket correspond quel numéro ?! Des numéros sont donnés automatiquement ? Dans ce cas, comment les récupérer ?

WSAAsyncSelect demande un HWND en paramètre

CyberP,
Celui qui dit que toute question a une réponse
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Quand c'est comme ca MSDN est ton amie!

Shell
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Va voir ici, tu trouveras toutes les fonctions qu'il existe concernant les sockets :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/winsock_functions.asp

Shell
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
2
Non mais j'ai déjà regardé le msdn
Et en ce qui concerne le wParam ils en disent pas plus

CyberP,
Celui qui dit que toute question a une réponse
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
2
En faisant des tests j'ai trouvé qu'il suffisait de faire wParam == socket

CyberP,
Celui qui dit que toute question a une réponse
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
C'est pourtant ce que je t'avais dit des le debut il me semble.

ciao...
BruNews, MVP VC++
Messages postés
283
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
4 juillet 2007
2
"c'est wParam qui identifie le socket"
Je n'avais pas compris que leur valeurs seraient égales

CyberP,
Celui qui dit que toute question a une réponse