Documentation de Gambas - /comp/gb.net/socket/.ready

/comp/gb.net/socket/.ready

# 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 " !