Ich habe eine Frage bezüglich der betitelten Frage. Ich versuche also, ein Programm zu erstellen, das Daten/Anfragen für Daten zwischen einem Programm in C++ und einer PHP-Site, die von einem Apache-Webserver läuft, übergibt.Wie richte ich die Kommunikation zwischen PHP und C++ ein?
Ich habe Socket-Kommunikation erforscht, aber ich verstehe das Konzept nicht. Ich verstehe, wie man ein Socket in PHP und ein anderes in C++ erstellt, und ich lasse sie mit einer Testanwendung laufen. Aber nur einzeln, nicht miteinander reden ODER mit meinem Webserver reden (das PHP ist momentan nicht auf dem Server, es ist auf einem anderen Server). Wie funktioniert das? Nach meinem Verständnis muss man eine Portnummer abhören, und die andere muss etwas an diesen Befehl senden.
Idealerweise würde ich lieber keine Bibliotheken verwenden, um mir dabei zu helfen. Ich weiß, dass diese Frage schon oft gestellt wurde, aber ich komme immer noch nicht weiter.
Könnte jemand erklären, wie das oben genannte funktioniert, oder Links zu einer Frage hier/an anderer Stelle, die hilfreich sein könnte? Oder wenn es eine bessere Methode dafür gibt als Sockets zu verwenden? Sie werden viel miteinander reden und vielleicht ein Problem beschleunigen.
bearbeiten, eine weitere Erklärung:
Webserver: Ich bin ein Apache-Webserver ausgeführt wird. Das PHP-Skript befindet sich auf diesem Server.
C++ - Speicherort: Während des Testens ist meine C++ - Anwendung auf demselben Raspberry Pi gespeichert, auf dem der Webserver ausgeführt wird. In der echten Anwendung wird meine C++ - Anwendung immer noch auf dem gleichen Gerät gespeichert (aber es wird kein Raspberry Pi sein - immer noch Linux-basiert).
Kommunikation: Das PHP-Skript muss ausgelöst werden, um Dinge durch das C++ - Skript zu tun, und umgekehrt. Sie müssen beide Daten (gemeinsame Datenstrukturen, aber sie könnten ziemlich groß sein) auf beiden Wegen weitergeben (also müssen beide in der Lage sein, Daten zu senden und zu empfangen).
Sie sagen, dass PHP-Anwendung auf einem separaten Server von der C++ app ist? Wird das immer so sein? – commanderZiltoid
Diese Frage ist ziemlich vage. Werden beide Programme auf demselben Server ausgeführt? Einweg- oder Zweiwegkommunikation? Ist das eine Client/Server-Beziehung? Oder vielleicht eine Beziehung zwischen Arbeiter und Queue? Wird php hinter einem Webserver ausgeführt (Apache, Ngnx usw.)? – Steve
Hallo, bitte erläutern Sie Ihren Anwendungsfall, beide können kommunizieren, solange Sie dasselbe Protokoll verwenden, wenn Ihr PHP auf Webserver ist, dann ist es am besten http/https (ich nehme an, C++ ist Client und PHP ist Server). Wenn php cli ist, kann Ihre Option auf udp, tcp erweitert werden. Sie können E-Mails auch mit C++ senden und den Empfang mit PHP überprüfen, indem Sie regelmäßig wget- und cron-Jobs usw. verwenden. –