Bonjour,
J'ecris un programme qui utilise les Sockets asynchrones de la classe Socket.
Cote client, j'utililise Beginconnect pour me connecter et les BeginSend,BeginReceive pour communiquer.
Dans le programme principal, un timer va permettre au client d'envoyer des données au serveur à interval de temps régulier.
Cote serveur j'ai un SocketEcoute qui recoit les demandes de connexion avec BeginAccept. Je recupère un Socketserveur avec EndAccept.
Lorsque la connexion est etablie , je lance un beginreceive.J'aimerai recevoir les données du client jusqu'à ce que celui-ci se ferme.
J'ai deux problemes:
- Comment savoir si il y a des données à lire, car faire des beginReceive ou des Available en boucle ça explose le CPU(et quand y'a 0 octet à lire, c'est dommage). Y-a-t-il un equivalent de OnReceive utilisé en c++ avec CAsyncSocket.
- Comment savoir quand le client est fermé.Car j'aimerai fermer la connexion cote serveur lorsque le client se deconnecte,ceci pour accepter un autre client(equivalent de Onclose utilisé en c++ avec CAsyncSocket).
Partager