Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4897 connectés 

 


Dernière réponse
Sujet : [Visual basic] VB et Winsock
mareek erreur de ma part, c'est bien 300 octets et non 300Ko et le problème n'est pas spécifique à un client.
j'ai changé la taille des messages en fonction du numéro du client et les messages sont tronqués d'une longueur différente selon le client, donc c'est bien un problème de buffer.
 
Par contre, ce qui est bizarre, c'est que c'est le début du message qui est tronqué, mais jamais la fin. ça ne devrait pas être le contraire ?
 
mareek

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
mareek erreur de ma part, c'est bien 300 octets et non 300Ko et le problème n'est pas spécifique à un client.
j'ai changé la taille des messages en fonction du numéro du client et les messages sont tronqués d'une longueur différente selon le client, donc c'est bien un problème de buffer.
 
Par contre, ce qui est bizarre, c'est que c'est le début du message qui est tronqué, mais jamais la fin. ça ne devrait pas être le contraire ?
 
mareek
HelloWorld heu ... 300 Ko ou 300 octets par message ?
parceque : 300Ko * 20 * 20 clients ... ca fait ... 120 Mo/sec !!!
sinon heu ... ca vient de n'importe quel client ?
essai plutot avec moins de clients qui envoient une taille différente ... regarde si les messages sont tronqués de autre chose que 80 octets ... pour quels clients ... si c'est le buffer, tu devrais vite capter ;)
mareek J'ai finalement adopté la méthode des flags, mais j'ai un problème:
Lors d'une très grosse charge (20 clients envoyant un message de 300Ko toute les 50 milisecondes), environ 1% des messages sont tronqués de leurs 80 premiers octets (ni plus, ni moins)...
 
d'où ce problème peut-il venir?
 
est-ce du au buffer limité de winsock ?
 
merci d'avance de me répondre.
 
Mareek
HelloWorld faut pas te gourer ... faut prendre celui qui est dans le liste des composants (projet -> composants ...)je crois que c'est MSWINSCK ...
faut pas faire "ajouter un activex" ...
mareek Merci pour le coup de main, je vais essayer cette solution
shadeoner Juste un truc sur winsock :)
Comment on ajoute ce composant ?
Je n'y arrive pas
 
Merci
HelloWorld put1 de winsock ...
moi j'ai beaucoup bataillé pour ce composant :gun: ...
la solution "propre" que j'avais adoptée :
    le serveur envoit un truc, il attend l'accuse de reception du serveur
    le client recoit et accuse reception : il envoit un message pour dire OK, envoit le suite (s'il y en a)
 
j'avais utilisé les évènements qui *normalement* faisaient pareil (je crois que c'est send_complete ou un truc comme ca) mais ca marchait pas !!! :??: :gun:
alors je me le suis codé à la dure comme ca ...
plus tard, je me suis dit qu'il aurait ete mieux d'avoir un deuxieme port dédié à l'accusé de reception (genre ftp : un port de donnee et un de commande), ca aurai ete plus simple à gerer
ce serait à refaire je ferais pour chaque envoit :
 
    le serveur avertit sur le port de commande le type de donnee qu'il va transferer
    le client dit qu'il est pret sur le port de commande
    le serveur envoit sur le port de donnee les donnees
    le client averti sur le port de commande qu'il a recu (quand il l'a fait biçen sûr ;))
 
vala vala ... en esperant t'aider ...
mareek Question de gouts, j'aurais préféré avoir un seul message à chaque DataArrival.
 
mareek
brascoo Je vois pas en koi ce n'est pas propre.
C'est comme ca que cela fonctionne, si tu veux recevoir des données sur une socket et que tu veux envoyer des paquets , il faut fo bien les separer par kk chose.
 
Br@scoo
mareek J'y ai pensé, mais je voulais faire un truc plus "propre".
 
Enfin, s'il n'y a pas d'autre solution...
 
Merci quand même.
 
mareek
brascoo Pourkoi ne separe tu pas tes message envoye avec des separateur (flag) bien significatif. ainsi tu decouperai en 2 msg a traiter que tu as recu d'un coup.
 
Br@scoo
mareek Bonjour à tous !
 
Je programme actuellement une application client/serveur en VB et j'ai quelques problèmes avec Winsock:  
lorsque je reçois plusieurs messages très raprochés, winsock les considère comme un seul message (qui contient en fait les 2 messages concaténés).
 
Existe-t-il une solution pour éiter ce problème autrement que par un timer?
 
Merci d'avance pour vos réponses
 
Mareek

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)