OVH Cloud OVH Cloud

taille Ping

4 réponses
Avatar
Bul
bonjour à tous,
j'utilise IcmpSendEcho de icmp.dll
pour faire un ping.

Public Type ICMP_ECHO_REPLY
Address As Long
status As Long
RoundTripTime As Long
DataSize As Long
'Reserved As Integer
DataPointer As Long
Options As ICMP_OPTIONS
Data As String * 1030
End Type

Public Declare Function IcmpSendEcho Lib "icmp.dll" _
(ByVal IcmpHandle As Long, _
ByVal DestinationAddress As Long, _
ByVal RequestData As String, _
ByVal RequestSize As Long, _
ByVal RequestOptions As Long, _
ReplyBuffer As ICMP_ECHO_REPLY, _
ByVal ReplySize As Long, _
ByVal Timeout As Long) As Long

on envoie un block de caractères,
mes questions :
° que "devrait" contenir ce block ?
j'y met n'importe quoi, ça me retourne
la même chose, est-ce pour contrôler que
l'aller/retour ce passe bien, uniquement ?
° quelle est sa taille maxi ?
je n'arrive pas à dépasser 1030 octets
quelle que soit la ligne "Data As String * taille"
enfin, je crois ...
merci d'avance.

4 réponses

Avatar
ng
Salut,

Oui c'est le principe du ping, tu récupères ce que tu as envoyé. Pour la
taille max il me semble que c'est dans les 65500, généralement on envoie des
petits packet (32/64 octets), tu peux tester avec la commande ping :

ping IP -l 32768

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Bul wrote:
bonjour à tous,
j'utilise IcmpSendEcho de icmp.dll
pour faire un ping.

Public Type ICMP_ECHO_REPLY
Address As Long
status As Long
RoundTripTime As Long
DataSize As Long
'Reserved As Integer
DataPointer As Long
Options As ICMP_OPTIONS
Data As String * 1030
End Type

Public Declare Function IcmpSendEcho Lib "icmp.dll" _
(ByVal IcmpHandle As Long, _
ByVal DestinationAddress As Long, _
ByVal RequestData As String, _
ByVal RequestSize As Long, _
ByVal RequestOptions As Long, _
ReplyBuffer As ICMP_ECHO_REPLY, _
ByVal ReplySize As Long, _
ByVal Timeout As Long) As Long

on envoie un block de caractères,
mes questions :
° que "devrait" contenir ce block ?
j'y met n'importe quoi, ça me retourne
la même chose, est-ce pour contrôler que
l'aller/retour ce passe bien, uniquement ?
° quelle est sa taille maxi ?
je n'arrive pas à dépasser 1030 octets
quelle que soit la ligne "Data As String * taille"
enfin, je crois ...
merci d'avance.


Avatar
Bul
merci de ta réponse ng,
j'ai encore besoin de précisions :

si je met "data string * > 32742" =>
erreur de compilation :
une donnée fixe ou statique ne peut pas dépasser 64 ko
je met 8192 => obligé de mettre la description en
variable globale sinon plante à l'exécution pour la même
erreur
je ne comprend pas tout...
et de toute manière au dessus de 1030 octets
le retour est = 1030 octets.
je fais quelle erreur ? je ne comprend pas quoi ?
Avatar
ng
Salut,

Pourquoi veux tu absolument envoyer plus de 1030 chars ?
Sinon dans ta structure tu mets un data As String que tu initialises avec
data = String$(vbNullChar, 50000)...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Bul wrote:
merci de ta réponse ng,
j'ai encore besoin de précisions :

si je met "data string * > 32742" =>
erreur de compilation :
une donnée fixe ou statique ne peut pas dépasser 64 ko
je met 8192 => obligé de mettre la description en
variable globale sinon plante à l'exécution pour la même
erreur
je ne comprend pas tout...
et de toute manière au dessus de 1030 octets
le retour est = 1030 octets.
je fais quelle erreur ? je ne comprend pas quoi ?


Avatar
Bul
je ne voulais pas faire...
je ne voulais que comprendre,
merci donc pour la "solution"
@+