Windows 8?
21. jul. 2009 19:47
Hvordan laver jeg nemmest kommunikation mellem et C++ program, og min webserver med PHP, som ligger på en anden computer.
Jeg har brug for at kunne sende nogle variabler, og der efter modtage et resultat. Jeg synes at kunne huske at jeg tidligere har lavet dette, bla. på nogle facebook applicationer, men kan simpelthen ikke huske hvad denne type forbindelse hedder. Jeg mener at jeg bare sendte et URL request til mit php script, og så lavede jeg scriptet så det afleverede det ønskede resultat, som eneste indhold på siden, som C++ programmet så læste.
Er der ikke en venlig sjæl der kan pointe mig i den rigtige retning, så jeg kan google det???
- Wolly -
21. jul. 2009 19:49
WinInet er et let bibliotek. Jeg mener at have set et godt eksempel på msdn.
You are in control of your breathing, your arms have weight, you are controlling your blinking, and you can feel your tongue in your mouth.
21. jul. 2009 19:52
Hvorfor vil du benytter C++ til det? Det er nok det mest besværlige sprog til formålet (med undtagelse af C).
Hvis du ikke er bekendt med C++, kunne du jo ligeså godt skrive dit program i PHP, Python, C#, eller hvilket som helst andet sprog med nemmere IO/WebRequest libraries.
http://about.me/windcape
21. jul. 2009 19:52
Du kan lave GET requests som med http://someserver.org/?action=tell&title=hihi
Eller måske den lidt bedre udgave hvor du laver POST requests til din PHP server.
21. jul. 2009 19:53
Hvis det er Windows, så er WinInet nem at gå til.
Men ellers kan du jo bruge et helt standard socket API, som kan bruges på Win, *nix etc..
Jeg har eksempler på HTTP 1.1 GET og POST med socket API.
21. jul. 2009 19:58
<?php
$url = "http://clausjoergensen.dk/media/files/t
est.txt";
echo file_get_contents($url);
?>Kør med:
c:\PHP\php.exe test.php
Hvorfor bruge C++ ;)
http://about.me/windcape
21. jul. 2009 20:00
Uhhh... det var mange svar hurtigt :-)
Jeg er tvunget til at bruge C++ og det er delvist på grund af min uduelighed i C++ jeg ønsker at få nogle funktioner over i PHP-serveren, da jeg er meget stærkere i at lave PHP scripts, samtidig har jeg brug for at visualisere en del variabler og lave en del database kald, som jeg alt sammen kan lave på 1/1000 del af tiden det ville tage mig at lave det i C++.
C++ programmet kører på Windows, og Webserveren køre på Linux, hvis det gør nogen forskel for jeres svar...
Kigger lige på winlnet og alle jeres andre forslag :-)
- Wolly -
21. jul. 2009 20:04
@arne_v
Et eksempel på GET eller POST API er yderst velkommen :-)
- Wolly -
21. jul. 2009 20:12
#8
Nogle af de eksempler som jeg har lavet gennem årene på eksperten.dk:
http://www.vajhoej.dk/arne/eksperten/div_2003_11/httpget.c
http://www.vajhoej.dk/arne/eksperten/div_200
4_02/lastmod.c
http://www.vajhoej.dk/arne/eksperten/div_2004_08/download.c
http://www.vajhoej.dk/arne/eksperten/div_200
4_08/httppost.c
http://www.vajhoej.dk/arne/eksperten/div_2007_05/wanip.c
(den opmærksomme læser kan se at jeg har copy pastet i stort omfang)
21. jul. 2009 20:14
#9
Jeg ved ikke lige med den overbygning, men libcurl har et godt ry:
http://curl.haxx.se/libcurl/
http://curl.haxx.se/libcurl/cplusplus/
21. jul. 2009 20:18
Linket var mest for eksemplets skyld. Jeg har mest brugt libcurl fra PHP, og det er et rigtig godt API.
http://about.me/windcape
21. jul. 2009 20:20
1 million gange tak for alle jeres svar. Jeg er sikker på at jeg finder en løsning. Winlnet synes at være nemt at gå til, men da man jo er doven, tror jeg at jeg snupper et af arne_v's fantastiske eksempler, og retter det til så det passer til mit program :-)
endnu en gang mange tak for alle jeres hurtige svar...
- Wolly -
22. jul. 2009 03:00
#13
Koden er såmænd ikke specielt fantastisk.
Jeg lavede et HTTP GET program engang i 1995 - og så har jeg copy pastet koden rundt siden.
22. jul. 2009 03:01
Iøvrigt: hvis koden skal buildes på *nix så skal man:
- ændre include filer
- ændre closesockettil close
- fjerne WSA* kaldene
22. jul. 2009 03:13
Jeg er tvunget til at bruge C++ og det er delvist på grund af min uduelighed i C++ jeg ønsker at få nogle funktioner over i PHP-serveren, da jeg er meget stærkere i at lave PHP scripts, samtidig har jeg brug for at visualisere en del variabler og lave en del database kald, som jeg alt sammen kan lave på 1/1000 del af tiden det ville tage mig at lave det i C++.Wolly (#7)
Hvis det skulle gøres rigtigt så skulle nok finde et SOAP toolkit til C++ (Axis2 findes til C) og så expose din PHP funktionalitet via et SOAP/HTTP API.
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.