PHP - Server e risposta asincrona

  • Autore discussione Autore discussione gpc
  • Data d'inizio Data d'inizio
Pubblicità

gpc

Utente Èlite
Messaggi
2,721
Reazioni
46
Punteggio
113
Avendo un server che svolge operazioni specifiche, qual' è il miglior modo di "rispondere" in maniera asincrona a applicazioni presenti su client?(le richieste di elaborazione arrivano proprio da tali client)
Grazie in anticipo
 
Che intendi per asincrona? Un server sta lì fermo e aspetta che gli chiedano qualcosa. Al che fa quanto chiestogli e invia la risposta appena disponibile. Ovviamente è in grado di elaborare più risposte in parallelo, ma questo lo fanno tutti i web server.

L'asincronia riguardo semmai i client, ovvero l'uso di XMLHttpRequest, meglio conosciuto come Ajax.
 
intanto grazie,
hai capito perfettamente il concetto
Altri strumenti non ne esistono?
 
non permettono un pò più libertà di linguaggi, rispetto ad Ajax?

No, perchè tutto quello che gira sul browser è Javascript. I browser non supportano altro. Ci sarebbe Flash ma è deprecato e ormai sta sparendo rapidamente. Ci provò Google con Dart e fu un flop. MS con ActiveX idem.

Ad oggi si può usare solo Javascript lato client. L'alternativa tra qualche anno sarà WebAssembly, che non è un linguaggio ma un formato binario che avrà compilatori per molti linguaggi. Attualmente esistono solo compilatori C++ e Javascript e qualche compilatore sperimentale per un paio di altri linguaggi.

Quindi, ad oggi, i browser di fatto supportano solo Javascript.

Se poi intendi applicazioni generiche, cioè client diversi dai browser, lì si può fare di tutto e di più. Ma la questione è che non è il server ad operare in maniera asincrona, in quanto il server si muove solo quando riceve una richiesta.

Anche se comincio ad avere il dubbio che per asincrono intendessi concorrente.
 
no no, intendevo asincrono
ad esempio se sul server gira php e su un sistema client c#, le websockets non permettono una "flessibilità" maggiore di utilizzo? (direi di si, rispetto al solo discorso browser)
 
no no, intendevo asincrono
ad esempio se sul server gira php e su un sistema client c#, le websockets non permettono una "flessibilità" maggiore di utilizzo? (direi di si, rispetto al solo discorso browser)

Naturalmente non usare un browser significa anche non dover accettare i limiti che impone.

Sia chiaro che il programma php che gira sul server deve però occuparsi di tutto, cioè usa le socket per mettere su un servizio, accettare le connessioni, gestire i dati inviati e ricevuti, ecc... Idem per il programma client. E le websockets sono uno dei protocolli di livello 7 che si può utilizzare, ma non sei obbligato a farlo, puoi benissimo usare HTTP o anche qualcuno di questi https://en.wikipedia.org/wiki/Category:Application_layer_protocols o creare un protocollo ad hoc.
 
Pubblicità
Pubblicità
Indietro
Top