Newsgroup: it.comp.appl.access
Titolo: Ritardo avvio procedura, solo non usata da tempo

Da codice vba uso il seguente codice per inviare dei comandi ad un 
router 3g, un teltonika Rut955, che uso per inviare sms
 
Set oHttp = CreateObject("MSXML2.XMLHTTP")
oHttp.Open "GET", 
"
http://1.2.3.4:80/cgi-bin/sms_send?username=pippo&password=pluto&text=Messaggio
 
del essemmesse"
oHttp.Send
dummy = oHttp.ResponseText
 
Se non invio per diversi minuti, la prima volta che mando un essemmesse, 
al .send  si blocca tutto per 30 secondi, passati quelli prosegue tutto 
come normale
Mentre dopo un invio iniziale, tutti gli invii che seguono impiegano 
solo qualche secondo per il .send
Cercando di capire dove indirizzare le ricerche, ho provato a comandare 
il router via browser web, e pilotandolo con un browser sembra non 
manifestare il problema, quindi anche dopo parecchio tempo di 
inattivita' , tentando l'invio di un messaggiono questo parte subito o quasi
Allora le domande sono:
- perche' all'isruzione oHttp.send si pianta tutto per 30 secondi o piu'?
- che isruzioni usare per ottenere l'invio dell'sms ed evitare il 
ritardo 'di riscaldamento' ?


non è che questo dispositivo, che non conosco, ha qualche funzione di 
"sleep mode" ?
altrimenti per tenerlo sempre "sveglio" mandagli ogni tot secondi un 
GET/POST di recupero informazioni. tipo la lista degli sms inviati.
 
cmq dispositivo interessante se ti permette di avere un invio sms in 
casa con una sim a sms gratuiti. attualmente per questo tipo di esigenze 
mi appoggio alle API di skebby dove ovviamente pago gli sms.
 
le risposte te le da in json volendo?
 
BFS
 
 
 
 
 
 
 
 

La connessione viene interrotta se non viene mantenuta attiva... con la risposta dell'oggetto dopo l'ultimo SEND.
Quindi finiti SEND... finita connessione.
 
Di conseguenza, credo che, il tempo di latenza che lamenti dovrebbe dipendere  dal ripristino dell'handshaking come fosse sempre la 1° RICONNESSIONE...
 
A tal proposito, ci sarebbe da verificare se la scelta di istanziare il CLIENT [MSXML2.XMLHTTP] è una buona cosa, credo non lo sia,... o se non convenga invece instanziare il SERVER[MSXML2.ServerXMLHTTP] direttamente.
 
Questo tempo di latenza potrebbe, anzi è così, essere estremamente migliorato proprio perchè si evita un passaggio CLIENT-SERVER...
 
In sostanza tu ti appoggi al CLIENT per inviare il messaggio, ma il client si appoggia al Server di Automazione, pertanto se tu bypassi il Client e vai al Server elimini una parte del problema.
 
P.S. purtroppo non uso più questo componente da parecchio, quindi sono ricordi...
 
@Alex


Per 'connessione' intendi da pc a router?
30 secondi ?
Mi sembra esagerato
Ora prova a cercare informazioni sul discorso ServerXmlhttp
Se ti servisse fare una cosa simile, come faresti?
Intendo l'invio comando verso router e l'attesa risposta
 
 


Dipende dal numero sms da inviare, perche' il bussolotto costicchia
Nel mio caso uso questo perche' ha anche altre funzionalita' 
interessanti come un client ntrip per collegarsi a base correzioni per 
gps che spara fuori dati correzioni su porta rs232, e quindi si possono 
alimentare anche gps vecchiotti, pochi hanno questa possibilita'
Credo risponda anche in json, dico 'credo' perche' fa un po' di tutto e 
quindi lo darei per scontato, da controllare, nel caso serva realmente
Ma ha anche molte altre possibilita', una fra tutte un connettorino dove 
puoi leggere/scrivere su dei pin, e pure leggere valori analogici su uno 
di questi pin, roba che non avevo mai visto su nessun router
 
 

30 secondi? Mi sembra esagerato
 
Hai verificato i tempi della 1° connessione...?
Se sono confrontabili devi cercare altrove il problema... una strada è appunto istanziare il SERVER ma anche qua ti suggerito da BSF è una buona soluzione se tenere impegnata la periferica non crea problemi...
 
 
Ora prova a cercare informazioni sul discorso ServerXmlhttp
Se ti servisse fare una cosa simile, come faresti?
Intendo l'invio comando verso router e l'attesa risposta
 
Proverei il SERVER e, se proprio ,un timer ciclico di interrogazioni fittizie da attivare finito il SEND e disattivare all'inizio, come ti hanno suggerito per ovviare alla caduta.
Valuta di delegare una form Hidden a questo per sfruttare il suo TIMER e TIMERINTERVAL
 
@Alex
 
@Alex