webForumDet fria alternativet

Kommunicera mellan PHP / C++

8 svar · 395 visningar · startad av mangan

manganMedlem sedan feb. 2003216 inlägg
#1

Hej!

Står inför ett litet problem och tänkte höra efter om någon kan ha något tips. Följande är senariot:

Jag ska göra en länkning mellan ett bokföringsprogram och ett webbgränssnitt. Bokföringsprogrammet går att kommunicera med genom att skriva program i C++ och nu undrar jag om man på något sätt kan kommunicera med ett C++ program med PHP och isf hur det skulle kunna gå till?

Min första gissning är att man kanske får kommunicera genom http eller liknande, är det rätt?

UlfTMedlem sedan maj 20018 027 inlägg
#2

Om du från php kan köra kommandoradsprogram, så kan du skriva dina c++-program som kommandoradsprogram, och köra dem på det viset. Då behöver du inte använda någon http för den kommunikationen. Annars kan du göra cgi-program i c++. Då kan du köra dem direkt från webservern.

manganMedlem sedan feb. 2003216 inlägg
#3

Ok. Nu kommer inte själva C++ delen och PHP-delen ligga på samma ställe utan på två olika servrar. Antar att CGI är att föredra då?
Är det stor skillnad att programmera CGI mot vanlig C++, har aldrig gjort det nämligen. Har någon en bra länk / resurs så är jag tacksam. Även förslag på editor som kan hjälpa till med detta är välkommna, då gärna gratisvarianter.

NickemannenMedlem sedan aug. 20003 575 inlägg
#4

Sockets tycker jag låter som en bra lösning.

UlfTMedlem sedan maj 20018 027 inlägg
#5

mangan skrev:

Ok. Nu kommer inte själva C++ delen och PHP-delen ligga på samma ställe utan på två olika servrar. Antar att CGI är att föredra då?

Cgi-program ska man köra på datorn med webservern.

mangan skrev:

Är det stor skillnad att programmera CGI mot vanlig C++, har aldrig gjort det nämligen. Har någon en bra länk / resurs så är jag tacksam.

Väljer man c++ för ändamålet, så är det som vanlig c++. Annars kan man väl säga att det finns en del likheter med att programmera asp, php och servlets, i den meningen att man även i det här fallet skriver program som genererar en output som en webläsare kan hantera (exempelvis html-koder, gif-grafik, mm). Du kan läsa mer om cgi här: http://hoohoo.ncsa.uiuc.edu/cgi/

mangan skrev:

Även förslag på editor som kan hjälpa till med detta är välkommna, då gärna gratisvarianter.

Finns ingen anledning att använda andra editorer än vad du brukar använda. Använder du c++ för dina cgi-program, använd helt enkelt samma editor du annars skulle använda för c++.

En liten brasklapp, jag har ingen aning om hur säkerhet och prestanda hos cgi står sig jämfört med php. Antagligen finns det väl någon anledning till att alla använder php istället för cgi idag. Det kanske inte är att rekommendera.

manganMedlem sedan feb. 2003216 inlägg
#6

Sockets...hmmm. Har hört talas om det men aldrig använt det, hur funkar det i stora drag?
Har som sagt för mig att det inte är så säkert med CGI som nämdes ovan.

spangoMedlem sedan juni 20008 205 inlägg
#7

Exakt hur är det man kan kommunicera med programmet via C++? Har det ett speciellt API för C++ eller är det via COM-objekt eller någon annan komponentarkitektur man interagerar? Det finns tusen olika sätt att kommunicera med ett program från C++.

NickemannenMedlem sedan aug. 20003 575 inlägg
#8

Ja du kan t.ex. ha en port öppen som ditt C/C++ program lyssnar på.

Då kopplar du ju upp dig mot programmet med IP:Portnummer.

Och sedan där så får du då göra ett protokoll på hur du skall föra över datan mellan servern och datorn med programmet.

En annan lösning kan vara att:
Eller om ditt C/C++ program helt enkelt bara laddar upp xml filer till webbservern och sedan anropar en phpsida som tar hand om det.

manganMedlem sedan feb. 2003216 inlägg
#9

Det finns ett speciellt API till just det aktuella programmet som möjliggör att man kan hämta / ändra data som ligger lagrat. Användningen kommer väl att funka typ som att hämta data ur tex en databas eller liknande. Själva hämtningen ur programmet är ju inte problemet utan att kommunicera med det. Jag skall alltså göra en brygga mellan webb / PHP och programmet i fråga.

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)