Newsgroup: it.comp.www.php
Titolo: Socket

Ciao a tutti.....
avrei un problema....
dunque, io sto sviluppando un'applicazione per un cellulare....
per collegarmi al server i php semplicemente apro una connessionepassando la
stringa 
http://nomeserver/file.php?var=XXX
quindi con il metodo get.....
ora a me servirebbe poter utilizzare questa connessione anche per gli scambi
successivi, in modo da non dover poi aprire un'altra connessione....
mi chiedevo se è possibile in php ottenere il socket della connessione che
ho stabilito inviando la prima variabile...
ovvero, ho visto che ci sono delle funzioni per creare e gestire i socket,
ma io il socket dovrei averlo già creato, vorrei solo "estrappolarlo" dalla
connessione corrente........
non so se mi son spiegato e nel caso se ho detto
stupidaggini.....eventualmente scusatemi.....
gg

 connessione che ho stabilito inviando la prima variabile...
Per fare quello che vuoi IMHO o utilizzi le sessioni o ti crei un
server TCP con i socket senza appoggiarti al webserver.
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.

 gg
posso chiedertri perchè tutto questo?
-- 
www.iuz-lab.info


ok, non l'avevo detto come web server uso apache....
con le sessioni come?
perchè le sessioni avevo già in mente di usarle, in modo da avere uno
session_id da fornire al client (il cellulare) in modo da poter ripristinare
sempre la sessione.....
era questo che intendevi?
perchè se intendevi questo il problema adesso è un po diverso...o almeno io
me lo sto immaginando diverso..
(scusa ma non sono un esperto.......)..forse l'ho spiegato male...riprovoa
spiegare?


-
:-D
certo che puoi....
vuoi sapere perchè sto facendo questo programma oppure perchè ho bisogno di
evitare l'apertura di una nuova connessione?

 almeno io me lo sto immaginando diverso..
Quale sarebbe il problema diverso?


gg wrote:

vorrei sapere qual'è la finalità del programma e soprattutto perchè hai
bisogno di evitare l'apertura di una nuova connessione!
-- 
www.iuz-lab.info


dunque, io mi collego al sito php, metodo get..
in pratica passo una stringa 
http://nomehost/file.php?var=XXX
e quindi gli sto dando una variabile...diciamo helo..
il server risponde con boh, facciamo 100 caratteri.....
il cellulare li legge e manda un'altra variabile...x esempio more.....
e il server risponde con altri 100 caratteri.....
etc etc
in pratica si tratta di stabilire una connessione tra il server e il
cellulare e scambiarsi i dati usando sempre quella...x fare botta e
risposta....
se invece io ogni volta mando la richiesta con
http://nomehost/file.php?var=XXX
, sto aprendo ogni volta una nuova
connessione....e credo che sia uguale anche se mando la richiesta con
http://nomehost/?session_id.
..
o sto dicendo cavolate?

 -- 
allora il programma deve scambiare dati con un database....
uso postgresql, apache php e il client su cellulare...
ora, dovendo fare botta e risposta, come ho scritto sopra, credo che aprire
una connessione ogni volta non sia efficiente, ma che sarebbe "più meglio"
:-D usare la stessa connessione...
ovviamente ci tengo a ribadire che di php non sono esperto.....quindi
perdonatemi se dico qualcosa di insensato.....

gg wrote:

se il software sul cell non l'hai programmato tu o non hai la possibilità di
farlo quello che proponi è molto improbabile.. e comunque facendo così non
saresti in accordo con lo standard HTTP.. leggi l'rfc 2616
-- 
www.iuz-lab.info


ovviamente il software sul cellulare lo programmo io...e anche tutto il
resto....

 
http://nomehost/?session_id.
..
Se ho capito bene quello che vuoi fare, non si puo` fare.
Puoi riutilizzare la stessa connessione se su apache configuri il
keep_alive. Dal tuo browser devi aprire la connessione e tenerla aperta. A
quel punto chiedi ad apache le varie pagine sulla stessa connessione, ma
le pagine devono essere diverse. Non puoi mettere un wait() in php e
aspettare che il browser ti mandi i dati, perche` quando il browser ha
ricevuto la pagina il php ha finito di fare il suo lavoro e ha passato
tutto ad apache.
Quindi devi ripassare ogni volta le variabili o l'id di sessione (via
cookie o via GET).
Bye.

gg wrote:

penso che la strategia migliore sia crearti un server da solo che risponda
alle caratteristiche da te richieste.. altrimenti quello che vuoi fare
diventa pressochè impossibile..
-- 
www.iuz-lab.info

 risposta....
[mi quoto]
ti crei un server TCP con i socket senza appoggiarti al webserver
[/mi quoto]



ok, mi pare di capire che è l'unica soluzione.....
ora vedo un po' di soppesare i pro e i contro....
grazie a tutti per l'attenzione....
:-)


capito....grazie a tutti
:-)