Event Socket.Ready (gb.net)

Event Ready ( )

Este evento é levantado depois que uma conexão foi estabelecida com sucesso.

A propriedade Status ficará com o valor Net.Connected.

Este exemplo verifica quais portas podem ser abertas no localhost dentro de um determinado intervalo. Se o socket pode se conectar, então, o evento ready é levantado. Se o socket não poder ser aberto, então, o status será definido como um código de erro com um valor menor que zero. Enquanto que o valor da propriedade status da conexão será maior do que zero.

Exemplos

PUBLIC Connection AS NEW Socket AS "SocketClient"

PUBLIC SUB ButtonScan_Click()
  DIM portNumber AS Integer
  FOR portNumber = 1 TO 3000
    Connection.Connect("localhost", portNumber)
    ' Espere até que o soquete é fechado
    ' ou um erro for encontrado
    REPEAT
      WAIT 0.01
    UNTIL Connection.Status <= Net.Inactive
    IF Connection.Status = Net.HostNotFound THEN
      PRINT "Host não foi encontrado"
      ' Nenhum ponto sera verificado se não encontrar o host
      BREAK
    END IF
  NEXT
END

PUBLIC SUB SocketClient_Ready()
  PRINT "Port " & Connection.Port & " aberta sobre " & Connection.Host
  CLOSE #Connection
END

Normalmente, é claro, você não deve fechar um socket durante o evento Ready!