Bonjour
J'utilise les sockets pour la premier fois en .Net et je suis assez perdu face aux différences avec le VB6.
Tout d'abord, il n'y a pas d'autres solutions pour savoir si des données ont été reçu que d'utiliser un timer pour faire Receive ? Parce que si on prend un timer trop lent, on va perdre en performances réseau et si trop rapide, on va bouffer le CPU pour rien.
J'ai aussi un problème sur les buffers. Si on essaye d'envoyer en une fois plus que le buffer l'autorise, on perd des données ? Donc il faut bien splitter les données pour les envoyer en 2 fois.
Comment faites vous pour indiquer que les données sont sur X "paquets" à votre application ?
Et si on utilise les timers pour faire Socket.Receive, imaginons que le client envoye 2 paquets (dont un ayant la taille du buffer donc) en 100ms et que le serveur a aussi un timer de 100ms, on va perdre des données ? Comment faites vous pour que ça ne se produise pas ? J'ai pensé à une pile. Comme le serveur dans ce cas va recevoir, le client va empiler ce qu'il a à envoyer et désempiler à chaque 100ms.
Voila, c'est peut être bête mais je n'ai pas trouvé de doc sur ceci à part des tuts basiques sur les sockets.
Partager