Effettuare il PING

Da Gambas-it.org - Wikipedia.

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