Newsgroup: it.comp.lang.delphi
Titolo: Cattura comando http Indy 10

Riposto la domanda perchè ho dimenticato una cosa importante.
Ho un applicativo delphi (D7) su una macchina xp pro con iis installato 
che fà da server web nel quale gira un'applicazione intranet per la 
comunicazione wireless con un palmare che deve interagire con un db 
mysql. Uso php lato server e il client (palmare) sono semplici form html.
Ho bisogno di comunicare con l'applicativo delphi in particolari momenti 
dal palmare (windows mobile 2003 second edition).
Si è parlato di webservice ma non sò da dove iniziare e a meno di un 
esempio semplice e funzionante per fare due prove lascerei perdere.
Quindi ho pensato di usare Indy che un amico mi ha detto fanno qualcosa 
in proposito. In pratica l'idea è quella di catturare un comando Http 
inviato dal browser del palmare e scatenare un evento delphi che 
risponda al comando. E' possibile ? mi par di si ma del come si faccia 
non ho idea. Lumi ???
La cosa inoltre non dovrebbe interferire bloccare frizzare il server web 
e/o l'applicazione delphi e/o il browser del palmare.
Omega

 comando. 
Che cosa devi realmente fare? Sei sicuro di non poterlo fare
direttamente in PHP (al massimo con una estensione)?
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 
Dunque cerco di spiegarmi meglio:
ho un applicazione web su server IIS che dal palmare si connette via 
wireless lan al database mysql.
Quando l'utente registra i dati sul database invio un comando http su 
una porta diversa da quella del server web magari una inutilizzata (a 
prop quali sono ?) e questo deve essere catturato dall'applicazione 
delphi per eseguire operazioni sul database che portino in primo piano i 
dati appena caricati
provo a elencare i processi PDA è il palmare HOST è il pc dove risiede 
mysql, IIS e l'applicazione delphi tutto questo in una lan locale
PDA -> form html -> carico dati su mysql -> HOST IIS PHP dice ok dati 
caricati (potrei usare una transazione per essere certo)
PDA -> invia comando http su porta diversa di IIS con l'id del record 
dell'ultima transazione -> HOST Delphi Indy cattura questo comando legge 
i dati relativi su mysql e li espone nella form
Non credo posso farlo dal php dato che i dati li devo vedere dall'app 
delphi o meglio si potrà anche fare ma mi sà che è anche peggio della 
soluzione proposta.
Omega

Vediamo se ho capito.
Hai un palmare che tramite web scarica dati su mysql.
una volta scaricati un'applicazione fatta in delphi deve mostrare questi
dati in un form.
Ad esempio
pda nella tasca del cameriere per prendere ordini
form in cucina per il cuoco.
Cosa del genere?
Bye,
Raktzo

raktzo ha scritto:

Si una cosa del genere, hai capito il meccanismo.
Omega

Nulla di complesso.
Apri un socket server (TIdTCPServer) su una porta tua, possibilmente bindata
su 127.0.0.1(cosi nessuno, tranne in locale, posso accederci)
Il modulo PHP che fa lo storage dei dati, finito il salvataggio, apre la
connessine alla porta del socket di cui sopra e ci spara un pacchettino per
l'aggiornamento
$fd=fsockopen('127.0.0.1', 4000)  ad esempio sulla 400
fput($fd, "e arrivato l'arrotino");
fclose($fd);
Chiaro o altre noie?
Cambiare DB e usare FB che ha gli eventi?
Bye,
Raktzo

raktzo ha scritto:

Hummm carino proverò ma per FB intendi Firebird ??
....è che ormai ho tutta l'app che gira con MySql.....averlo saputo 
prima.... cmq grazie della info.
Omega

 prima.... cmq grazie della info.
Tienimi informato, è la prima cosa che m'è passata per la mente.
Bye,
Raktzo

raktzo ha scritto:

Dunque alcune domande
o dovuto implementare l'evento OnExecute delidTCPServer ma non sapendo 
cosa metterci ci ho solo messo una messagebox che quando l'evento si 
scatena e salta fuori (salta fuori ma i dati ricevuti non li ho 
interpretati). Quale è la proprietà per ricevere i dati ?
Fatal error: Call to undefined function: fput() in ........\tcptest.php 
on line 9
Questa è la riga che mi restituisce alla chiamata della pagina php forse 
si chiama in un'altro modo ? a che versione del php ti riferisci magari 
la mia è datata (4.3.7).
Omega

 si chiama in un'altro modo ? a che versione del php ti riferisci magari
fputs e tutta la serie di comandi per "lavorsi" i file
Bye,
Raktzo

 
Grazie dei preziosi consigli.
Omega

 non sono riuscito a trovare la lista per aggiungere il command
Forse dipende dalla versione usata...il bello che non trovo quale versione
io abbia installato...sono quelli con Kylix3Pro
se il file non mi tradisce deve essere la 9.00.12
Bye,
Raktzo

raktzo ha scritto:

Io ho le 10.0.76 installate bho cerco un pò nella guida e googlelizzo 
qui è la forse qualcosa scopro.
Omega