Ho una domanda riguardante la domanda intitolata. Quindi, sto tentando di creare un programma che trasmetta dati/richieste di dati tra un programma in C++ e un sito PHP che si stacca da un server web Apache.Come impostare la comunicazione tra PHP e C++?
Sono stato alla ricerca di comunicazioni Socket, ma non sto capendo il concetto. Capisco come creare un socket in PHP e un altro in C++, e li faccio girare usando un'applicazione di test. Ma solo individualmente, non parlando tra loro O parlando al mio server web (il PHP non è sul server al momento, è su un server diverso). Quindi come funziona? Dalla mia comprensione, è necessario che uno ascolti un numero di porta e l'altro che invii qualcosa a quel comando.
Idealmente, preferirei non utilizzare alcuna libreria per aiutarmi a raggiungere questo obiettivo. So che questa domanda è stata posta molte volte in passato, ma non sto ancora andando da nessuna parte.
Qualcuno potrebbe fornire una spiegazione su come funziona il suddetto, o collegamenti a una domanda qui/altrove che potrebbe essere di aiuto? O se esiste un metodo migliore per farlo rispetto all'utilizzo di socket? Parleranno molto tra loro e la velocità potrebbe essere un problema.
Modifica, ulteriori spiegazioni:
server Web: Sono in esecuzione un server web Apache. Lo script PHP si trova su questo server.
C++ Ubicazione: durante il test, la mia applicazione C++ è memorizzata nello stesso Raspberry Pi su cui è in esecuzione il server web. Nell'applicazione reale, la mia applicazione C++ verrà comunque archiviata sullo stesso dispositivo (ma non sarà un Raspberry Pi, anche se comunque basato su Linux).
Comunicazione: lo script PHP deve essere attivato per eseguire operazioni dallo script C++ e viceversa. Avranno entrambi bisogno di passare i dati (strutture dati comuni, ma potrebbero essere abbastanza grandi) in ogni modo (quindi entrambi devono essere in grado di inviare e ricevere dati).
voi dicono che php app è su un server separato dal ++ app c? Sarà sempre così? – commanderZiltoid
Questa domanda è abbastanza vaga. Entrambi i programmi saranno in esecuzione sullo stesso server? Comunicazione a senso unico o bidirezionale? Si tratta di una relazione di tipo client/server? O forse una relazione di tipo worker/queue? Php viene eseguito dietro un server web (apache, ngnx ecc.)? – Steve
Ciao, ti prego di approfondire il tuo caso d'uso, entrambi possono comunicare fino a quando usi lo stesso protocollo, se il tuo php è sul webserver, allora è meglio http/https (presumo che C++ sia client e PHP sia server). Se php è cli, l'opzione può espandersi in udp, tcp. Puoi anche inviare email usando C++ e controllare ricevere usando PHP, periodicamente usando job wget e cron, ecc. –