client.connect()

Descripción

Se conecta a una dirección IP y por el puerto especificados. El valor de retorno indica el éxito o el fallo. También es compatible con las búsquedas de DNS cuando se utiliza un nombre de dominio.

Sintaxis

client.connect()
client.connect(ip, port)
client.connect(URL, port)

Parámetros

ip: la dirección IP a la que el cliente se conectará (matriz 4 bytes)
URL: el nombre de dominio del cliente conectado (string, por ejemplo:"arduino.cc")
port: el puerto por el que el cliente se conectará (int)

Retornos
Devuelve un int (1,-1,-2,-3,-4) que indica el estado de la conexión:
  • SUCCESS 1
  • TIMED_OUT -1
  • INVALID_SERVER -2
  • TRUNCATED -3
  • INVALID_RESPONSE -4

Ejemplo


#include <Ethernet.h>
#include <SPI.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 };
byte server[] = { 64, 233, 187, 99 }; // Google
EthernetClient client;
void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(9600);
  delay(1000);
  Serial.println("conectando...");
  if (client.connect(server, 80)) {
    Serial.println("conectado");
    client.println("GET /search?q=arduino HTTP/1.0");
    client.println();
  } else {
    Serial.println("Fallo de conexión");
  }
}
void loop()
{
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }
  if (!client.connected()) {
    Serial.println();
    Srial.println("desconectando.");
    client.stop();
    for(;;)
      ;
  }
}

4 comentarios:

  1. Respuestas
    1. si es verdad tengo un Serial.println(client.connect(serverName, 80)); y hay veces retorna 0 que se debe hacer en esos casos

      Eliminar
  2. Hola,
    Estoy tratado de conectar un ESP8266-01 a mi raspberry pi 3 para enviarle los datos de un DHT11 a mi servidor local LAMP y que me muestre los datos en una pagina web.
    Para ello estoy utilizando client.connect(host, 80), pero no logra conectarse, me sale "Conexión fallida"..

    ResponderEliminar