alors j'ai fait un projet en socket d'abord en MFC avec CSocket, CArchive etc...

Le client/serveur marche, mais je le trouve pas très stable, surement lié au fait que je ne connais pas trop le réseau


Mais qu'à cela ne tienne, je me mis au WinSock du coup pour essayer une alternative

Alors tout marche bien. Côté serveur j'ai :
- initialisation de WinSock
- création d'une socket avec les infos nécessaires
- bind sur l'adresse et le port
- listen
- accept
- affichage de l'ip du client
- close socket
- CleanUp de WinSock


en gros pour simplifier, le serveur n'attend qu'une seule et unique connexion et affiche l'ip qui a tentée de se loguer puis se coupe



la version client marche aussi :
- init, création de socket
- connect sur l'ip et le port du serveur
- close, cleanup



et ça marche (c'est beau l'informatique)



Mais voila, au dela de la connexion qui fonctionne, j'ai un probleme lié à la fonction "accept".
Elle attend qu'une connexion arrive, et tant que ce n'est pas le cas, elle bloque le processus du serveur en cours, ce qui a notamment pour effet de stopper l'affichage. Ce qui est plutôt gênant, vu que j'utilise une fenêtre de diagnostique pour afficher des états (calculs en cours, nombre de connexion, etc)


Existe t il une alternative pour "tester" si quelqu'un tente de se connecter plutôt que d'attendre dans le vide obligatoirement jusqu'à ce que quelqu'un viennent, histoire de n'enclencher le accept que lorsqu'il est utile pour pouvoir faire autre chose en même temps que cette attente ?