Host e porte non 80

Salve

Devo agganciarmi con la mia arduino+ethernet shield ad un sito web: tizio.caio.it:54379
deve scaricarmi semplicemente l'output della pagina... un pò come lo sketch webclient negli esempi.

Mi sto un pò rincretinendo e non riesco a capire dove devo metere la porta 54379:

if (client.connect(server, 54379)) {

Ma si freeza e non mi fa connettere....

Ho pensato di impostare: if (client.connect(server, 80)) {
E nella get fare qualcosa tipo: client.println("GET :54379/index.html  HTTP/1.0");

Niente da fare

Come me ne esco? chi mi aiuta?

Grazie

il primo sistema è quello corretto.. non so perchè si freeza però. Forse un bug della libreria che usa int invece che unsigned int?

edit: ma poi, hai provato a pingare e telnettarti al pc del tizo dalla tua rete con un PC? magari è semplicemente un problema delle SUE impostazioni di rete, ma non credo che la etherne si frezzi in qul caso, ma al massimo dopo un pò dovrebbe dare timeout

lesto:
il primo sistema è quello corretto.. non so perchè si freeza però. Forse un bug della libreria che usa int invece che unsigned int?

Grazie lesto per la risposta....

Come faccio adesso? Devo mettere mano alla libreria?

...non ho mai modificato una libreria in vita mia.... proviamo!

La funzione è questa.... uint16_t
Che cavolo è? Che tipo è? 0~1024 porte?

uint16_t EthernetClient::_srcport = 1024;
int EthernetClient::connect(const char* host, uint16_t port) {
  // Look up the host first
  int ret = 0;
  DNSClient dns;
  IPAddress remote_addr;

  dns.begin(Ethernet.dnsServerIP());
  ret = dns.getHostByName(host, remote_addr);
  if (ret == 1) {
    return connect(remote_addr, port);
  } else {
    return ret;
  }
}

uint16_t vuol dire Unsigned int 16 bit

quindi è corretto. vedi l'edit delmio primo messeggio, ovvero con telnet ti riesci a collare al PC del tizio?

lesto:
uint16_t vuol dire Unsigned int 16 bit

quindi è corretto. vedi l'edit delmio primo messeggio, ovvero con telnet ti riesci a collare al PC del tizio?

sisi, vedo benissimo

OK, risolto.

Il problema era dal fatto che il server usa il protocollo 1.1 per le richieste http, quindi ho modificato leggermente la richiesta di get aggiungendo l'host+porta.

  client.println("GET /tizio.html HTTP/1.1");
    client.println("Host: bello.tutto.it:54379");
    client.println();