Pages: [1]   Go Down
Author Topic: Host e porte non 80  (Read 367 times)
0 Members and 1 Guest are viewing this topic.
Naples (IT)
Offline Offline
God Member
*****
Karma: 5
Posts: 712
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
Code:
if (client.connect(server, 54379)) {

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

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

Niente da fare

Come me ne esco? chi mi aiuta?

Grazie
Logged

Arduino, MODs e DIY: blackstufflabs.com

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10113
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: September 21, 2012, 11:13:38 am by lesto » Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Naples (IT)
Offline Offline
God Member
*****
Karma: 5
Posts: 712
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

Arduino, MODs e DIY: blackstufflabs.com

Naples (IT)
Offline Offline
God Member
*****
Karma: 5
Posts: 712
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Code:
uint16_t EthernetClient::_srcport = 1024;

Code:
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;
  }
}
« Last Edit: September 21, 2012, 11:17:51 am by Trisonic » Logged

Arduino, MODs e DIY: blackstufflabs.com

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10113
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Naples (IT)
Offline Offline
God Member
*****
Karma: 5
Posts: 712
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Arduino, MODs e DIY: blackstufflabs.com

Naples (IT)
Offline Offline
God Member
*****
Karma: 5
Posts: 712
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.


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

Arduino, MODs e DIY: blackstufflabs.com

Pages: [1]   Go Up
Jump to: