Effettuare il PING
Vai alla navigazione
Vai alla ricerca
Per effettuare il PING (Packet INternet Groper ) con Gambas, si potrà lanciare l'omonimo comando bash "ping" seguito dal prefisso "www." più il nome del dominio oppure dall'indirizzo IP mediante le istruzioni Shell o Exec[].
In alternativa si potrà anche utilizzare la funzione esterna di C "popen()", ad esempio come segue:
Library "libc:6"
' FILE *popen (const char *__command, const char *__modes)
' Create a new stream connected to a pipe running the given command.
Private Extern popen(__command As String, __modes As String) As Pointer
' size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream)
' Read chunks of generic data from STREAM.
Private Extern fread(__ptr As Pointer, __size As Long, __n As Long, __stream As Pointer) As Long
Public Sub ToggleButton1_Click()
If ToggleButton1.Value Then
Dim p1, p2 As Pointer
Dim s As String
p1 = Alloc(SizeOf(gb.Byte), 1)
p2 = popen("ping www.gambas-it.org", "r")
While ToggleButton1.Value
Repeat
fread(p1, 1, 1, p2)
s &= String@(p1))
Wait 0.001
Until Right(s, 1) = "\n"
ListBox1.Add(RTrim(s))
s = Null
Wend
Else
Free(p1)
p1 = 0
Endif
End
Public Sub Form_Close()
Quit
End