Komunikacja programu napisanego w c++ ze stroną www

0

Witam drogich forumowiczów, zwracam się do was z prośbą o pomoc ;)
Potrzebuje metody, jak komunikować program napisany w Microsoft Visual Studio 2010 Express ze stroną www.
Ma to wyglądać mniej więcej tak: Program wysyła sygnał do stronki i ona na to reaguje np. wyświetlając stosowny komunikat ze program chce jej właśnie coś powiedzieć, tak samo w drugą stronę klikam button na stronie, i po chwili program reaguje na to kliknięcie. Nie proszę o nic wielkiego, jakaś wskazówka może być. Strona www działa jako serwer, program jako klient.

korzystam z Microsoft Visual Studio 2010 Express.

Ps. spędziłem cały dzisiejszy dzień na poszukiwaniu odpowiedzi w google, wiec prosze nie odsyłajcie mnie tam ;)

Edit: tak, wkradł mi się tu błąd logiczny, ogólnie ma reagować.

0

rzuc okiem na biblioteke libcurl

0

"Strona www" nie działa na zasadzie przesyłania sygnałów od jednego do drugiego tylko na wysyłaniu żądań do serwera a serwer odpowiada np. odsyłając treść strony na zadane żądanie. Chcąc uzyskać odpowiedź od serwera musisz go tak długo o to pytać, aż odpowie inaczej - sam z siebie żadnego sygnału nam nie wyśle.

0

pytać, czyli np. pytam programem stronę czy wyśle mi plik, strona mówi ze tak i mi go wysyła, wiem ze to działa, tylko jak zrobić zeby strona sie dowiedziała że ja ten plik już pobrałem i go np. otworzyłem. Chodzi mi o jakiś prosty sygnał od programu dla strony "Mam plik, dzieki, działa".

0

Z tą stroną możesz rozmawiać w na prawdę różnoraki sposób. Przedstawiłeś teraz sytuację z pobieraniem i otwieraniem pliku. Możesz to zrobić na wiele sposobów. Mi osobiście taki wydaje się rozsądny:

  1. klient ---[ poproszę plik XYZ ]---> serwer
  2. serwer ---[ oto link do pliku XYZ ]---> klient
    W tym momencie klient ściąga plik i otwiera go, a następnie w zależności od tego, czy ta akcja się udała odpowiada:
    3a. klient ---[ plik XYZ pobrany i uruchomiony poprawnie ]---> serwer
    3b. klient ---[ wystąpił błąd z uruchomieniem/pobraniem pliku XYZ ]---> serwer

Serwer może otrzymywać także identyfikator klienta i w jakiejś bazie danych zapisywać, że dany klient otrzymał już dany plik i uruchomił go poprawnie. Coś więcej?

0

Tak dokładnie o to chodziło, i na tym właśnie stoję, potrzeba mi wspólny język dla c++ i strony www, odpowiednie biblioteki i funkcje, nie wiem jakie, liczę na waszą pomoc, tylko tego mi trzeba, do reszty sam pomalutku dojdę.

0

Dostałeś odpowiedź w pierwszy poście

rzuc okiem na biblioteke libcurl

0

tak cały czas uczę się jej z tego co znajdę w necie, wiem jak za jej pomocą pobrać dany plik, ale jak wysłać komunikat rozpoznawalny przez skrypt php, po prosto jaka funkcja zapalić np kontrolkę na www albo np zmienić jakąś wartość, da się tak ?

0

zwykły GET przez http?

0

Mój problem rozwiązany, lektura curla pomogła, rozwiązałem to funkcja

curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "submit=1&option=0"); 

sam do konca nie wiem jak to działa, ale wydaje mi się że submit to przycisk a option to po prostu textarea.

Dzięki wszystkim za pomoc,

Zeby zainstalować curla pszeszukałem cały internet, pomógł mi ten poradnik.

http://public.cranfield.ac.uk/c5354/teaching/dip/rovio/libcurl_vs2010_setup.pdf 
0
Baksik13 napisał(a):

Mój problem rozwiązany, lektura curla pomogła, rozwiązałem to funkcja

curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "submit=1&option=0"); 

sam do konca nie wiem jak to działa, ale wydaje mi się że submit to przycisk a option to po prostu textarea.

Wydaje mi się, że ten string ma o wiele ogólniejsze znaczenie aniżeli "submit to przycisk, a option to textarea". Według dokumentacji tej funkcji, jako trzeci argument przekazujesz wskaźnik na string, w którym znajdują się dane do przesłania metodą POST. Standardowo mają one format:
zmienna1=wartość1&zmienna2=wartość2&...
Następnie w skrypcie strony, do której wysyłasz zapytanie pobierasz te wartości (w przypadku PHP) w następujący sposób:

$zmienna1 = $_POST['zmienna1'];
$zmienna2 = $_POST['zmienna2'];

Jeśli chcesz zastąpić formularz ze strony internetowej swoim programem, to nazwy zmiennych są umieszczone w atrybucie "name" elementów formularza. Przykład:

<form method="post" action="script.php">
    <input type="text" name="zmienna1" />
    <input type="text" name="zmienna2" />
</form>
0

Masz rację, aż tak się w to nie zagłębiałem, ale jak dla mnie działa to znakomicie. Informacje z twojego postu dodatkowo mi pomagają, ale to potem, teraz studiuje boost filesystem, gigantyczna biblioteka i ogromne zastosowanie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1