Problème buffer tcplistener

Résolu
Guillamue06 Messages postés 158 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 11 juillet 2022 - 26 janv. 2012 à 05:22
Guillamue06 Messages postés 158 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 11 juillet 2022 - 26 janv. 2012 à 21:08
Bonjour, j'ai un problème au niveau de tcplistener/client (encore)

C'est au niveau du buffer à la lecture des données :

Dim Stream As NetworkStream = objClient.GetStream
Dim bytes(objClient.ReceiveBufferSize) As Byte
Dim Read As Byte = Stream.Read(bytes, 0, CInt(objClient.ReceiveBufferSize))
Dim Recu As String = Encoding.UTF8.GetString(bytes, 0, bytes.Length)


Le ReceiveBufferSize est réglé à 8192 octets et j'envoi un paquet de 712 octet et j'ai l'erreur suivante :
L'opération arithmétique a provoqué un dépassement de capacité.

Ors se n'est pas possible que je dépasse le buffer vue qu'il est réglé a 8192 octets et j'en envoi que 712 (vérifier avec un msgbox + .lenght lors de l'envoi) :

Dim Stream As NetworkStream = objClient.GetStream
Stream.Write(donnees, 0, donnees.Length)
MsgBox(donnees.Length)

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
26 janv. 2012 à 20:35
Dim Read As Byte

Normalement Read doit retourner 712 octets

Tapez le texte de l'url ici.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 157
26 janv. 2012 à 19:34
Bonjour,

Sur quelle ligne l'erreur ?

Si c'est sur :
Dim Read As Byte = Stream.Read(bytes, 0, CInt(objClient.ReceiveBufferSize))

Read retourne un Byte ?

Actives Option Strict (propriétés du projet).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
26 janv. 2012 à 19:59
Bonjour,
et ce n'est pas du VB6


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Guillamue06 Messages postés 158 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 11 juillet 2022 4
26 janv. 2012 à 20:31
Bonjour,

oui sur cette ligne :

Dim Read As Byte = Stream.Read(bytes, 0, CInt(objClient.ReceiveBufferSize))

Normalement Read doit retourner 712 octets (se que j'envoi) mais sa ne passe pas au dessus de 100 octets...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Guillamue06 Messages postés 158 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 11 juillet 2022 4
26 janv. 2012 à 21:08
Merci, certaine chose des plus basique que j'ai oublié...

Merci pour se coup de pied au cul sa fait du bien de temps en temps
0