Event Socket.Ready (gb.net)

Event Ready ( )

Cet Evènement est levé après qu’une connexion ait été établie avec succès.

La propriété Status prendra la valeur Net.Connected.

Cet exemple cherche quels ports, à l’intérieur d’une gamme donnée, peuvent être ouverts sur un hôte local. Si le socket peut se connecter à eux, l’évènement " ready " sera déclenché. Si le socket ne peut pas être ouvert, le " Status " sera renseigné par un code d’erreur avec une valeur inférieure à zéro. Pendant la connexion, la valeur de la propriété " Status " sera supérieure à zéro.

Exemples

PUBLIC Connection AS NEW Socket AS "SocketClient"

PUBLIC SUB ButtonScan_Click()
  DIM portNumber AS Integer
  FOR portNumber = 1 TO 3000
    Connection.Connect("localhost", portNumber)
    ' Attente jusqu’à la clôture du socket ou l’apparition d’une erreur
    REPEAT
      WAIT 0.01
    UNTIL Connection.Status <= Net.Inactive
    IF Connection.Status = Net.HostNotFound THEN
      PRINT "Hôte non trouvé "
      ' Poursuite du balayage injustifiée si on ne peut pas trouver l’hôte
      BREAK
    END IF
  NEXT
END

PUBLIC SUB SocketClient_Ready()
  PRINT "Port " & Connexion.Port & " ouvert sur " & Connection.Host
  CLOSE #Connection
END

Normalement, bien sur, vous ne devriez pas fermer un socket pendant l’évènement " Ready " !