Jak zrobić/założyć stronę www, która odpowiada na moje komendy?
na przykład piszę w przeglądarce: www.slownik.pl piasek
i to ma mi odpowiedzieć podając znaczenie słowa 'piasek', które sobie wyszuka z listy słówek na pliku.
Jak zrobić/założyć stronę www, która odpowiada na moje komendy?
na przykład piszę w przeglądarce: www.slownik.pl piasek
i to ma mi odpowiedzieć podając znaczenie słowa 'piasek', które sobie wyszuka z listy słówek na pliku.
w C/C++ raczej tego nie zrobisz. Jak pytasz o takie coś to naucz się podstaw HTML, javascript, css do obsługi użytkownika oraz php/jave/javascript(node.js)/C# do serwera oraz jakąś bazę danych.
A jak to działa:
Wpisujesz na stronie www w text, jest on wysyłany na serwer. Na serwerze jest on szukany bazie danych. Wynik zostaje wysłany do klienta(przeglądarki) jako odpowiedz. Po stronie klienta jest to odpowiednio interpretowane i wyświetlanie.
Ja muszę w c++ to zrobić.
a nawet znalazłem coś:
https://en.wikipedia.org/wiki/Common_Gateway_Interface
"The overhead involved in process creation can be reduced by techniques such as FastCGI that "prefork" interpreter processes, or by running the application code entirely within the web server, using extension modules such as mod_perl or mod_php. Another way to reduce the overhead is to use precompiled CGI programs, e.g. by writing them in languages such as C or C++, rather than interpreted or compiled-on-the-fly languages such as Perl or PHP,"
mówią że c lepiej do tego się nadaje od skryptów.
Poszukaj jakigos webframeworka w c++ i zrob stronę ktora przyjmie parametr
Mam do dyspozycji tylko dwa, dość szczątkowe, posty, więc mogę się mylić.
Wygląda mi to na problem xy. Podałeś wymyślone przez Ciebie rozwiązanie do problemu, którego nie znamy. Będzie nam łatwiej Ci pomóc jeżeli powiesz jaki masz problem. Napisz proszę co chcesz osiągnąć. Jakie masz wejście (o tym trochę wiemy bo chcesz w przeglądarce wpisać www.slownik.pl piasek
) i co ma się zadziać.
Jestem na 99.99% pewien, że wcale nie musisz tego robić w C++. Wydaje Ci się, że musisz bo gdzieś przeczytałeś, że wszystko inne jest wolne i serwer nie uciągnie Ci ruchu jeżeli nie użyjesz kompilowalnego języka plus nie będziesz nastawiony na optymalizację. Powiem tak, przykład, który podałeś uciągnąłby raspberry pi z odpalonym serwerem http waz z interpreterem PHP napisanym w Pythonie.
Oczywiście mogę się mylić, i może rzeczywiście szacujesz, że Twoja strona będzie musiała obsługiwać miliony/miliardy requestów na sekundę, wtedy malinka by nie podołała :/
Teraz algorytm:
Jeżeli dwa poprzednie punkty są prawdziwe:
zainteresuj się czymś przyjemniejszym niż C++. Np. php, nodejs, python::flask/django itp itd
W innym wypadku:
czytaj dalej
Jeżeli dotarłeś tu, to jest tylko jedno wyjaśnienie. W szkole/na uczelni dostałeś zadanie napisania serwera z wykorzystaniem C++.
Rozwiązaniem jest zmiana uczelni.
Jeżeli dalej chcesz robić to w C++, to wykorzystaj gotowe narzędzie, np. https://github.com/yhirose/cpp-httplib (nie znam tego jak coś).
Jeżeli musisz to napisać w C++ OD ZERA, to najpierw poczytaj co to jest protokół HTTP oraz jak się używa socketów w C++. Jak ogarniesz te dwie rzeczy, to daj znać.
waz z interpreterem PHP napisanym w Pythonie.
- w sumie w Pythonie ma prosty serwer http.
stryku napisał(a):
Jeżeli dotarłeś tu, to jest tylko jedno wyjaśnienie. W szkole/na uczelni dostałeś zadanie napisania serwera z wykorzystaniem C++.
Rozwiązaniem jest zmiana uczelni.
Ty tak poważnie?
www.slownik.pl piasek
, który nawet nie jest normalnym url.
5. Jedyne co do tej pory znalazł, to art na wikipedii.
6. Jako argumentację C++ podaje randomowy cytat z internetu.
7. Jest w temacie zielony jak majowa trawa. Kurde no bez przesady, jakby serio był w projekcie, który potrzebuje takiej wydajności, że biorą pod uwagę pisanie serwera http w cepie, to ten temat by nigdy nie powstał.
FastCGI to "emocjonująca nowość", tyle że roku ok 1995 (a propos zmiany uczelni)
W ogóle robienie programu w C/C++ by go włączyć przez CGI (albo "mniej złe" FastCGI) zabijając szybkość o rzędy wielkości, to jakieś jaja.
W owych czasach się (być może) myślało w ten sposób, bo C/C++ był jedynym rozpowszechnionym językiem kompilowanym, dającym tajność kodu źródłowego, jakie takie type-safe programowanie itd.
CGI pozwalało go bezpiecznie dla serwera go odpalić (tj w innej przestrzeni adresowej - dlatego wzmianki @stryku o pisaniu serwera we C/C++ nie podpadają pod ten wątek).
Nie wiem, czy wspólcześnie typowo skonfigurowany Apache / Ngnix w ogóle odpala interfejs CGI.
nowewww napisał(a):
Jak zrobić/założyć stronę www, która odpowiada na moje komendy?
na przykład piszę w przeglądarce: www.slownik.pl piasek
i to ma mi odpowiedzieć podając znaczenie słowa 'piasek', które sobie wyszuka z listy słówek na pliku.
Nie weź tego zbyt osobiście, ale sam sposób zadania pytania sugeruje, ze nie masz podstaw, fundamentów w dziedzinie.
Robiąc (hipotetycznie) w C masz "na dzień dobry" 300-100o linii kodu "rozbiegowego", plus potem na każdą linię, która by przypadała np w PHP, to w C masz 3-5..
Nie wiem jak to się fachowo nazywy co mam zrobić.
Opiszę działanie:
może to być cokolwiek, nawet gra w szachy: wysyłam swój ruch, a serwer oblicza swój i mi go przesyła.
Szukasz czegoś, co Ci pozwoli zaprogramować dynamiczną stronę WWW — tzn. taką, która nie jest z góry określonym zbiorem przygotowanych wcześniej dokumentów, ale jest generowana „w locie”. Właściwie każda strona taka jest — w szczególności właśnie i to forum.
Jest całe mnóstwo języków lub frameworków, które powstały w tym celu — PHP, Ruby on Rails, Python z Django…
To co Ty znalazłeś… no będzie działać. Ale normalnie się klepie takie rzeczy w bardziej wyspecjalizowanych językach, takich jak te wyżej, bo z tym mniej roboty.
No… to zrób. Używany przez Ciebie serwer na pewno będzie miał jakieś mechanizmy wyjścia na system, które będziesz mógł skonfigurować. A jak się bardzo uprzesz, to i swój serwer od podstaw napisać też możesz — już Ci Stryku podpowiedział, gdzie zacząć.
Bardzo niewdzięczna robota, takie odkrywanie koła na nowo… Ale jak musisz, to powodzenia; spróbujemy Ci pomóc z konkretnymi problemami.
Moim zadaniem jest utworzenie od zera:
nie wiem co tam jeszcze potrzeba.
Robienie tego w C++ nie ma sensu, ale skoro się upierasz...
Zainstaluj sobie dodatkową bibliotekę:
https://pocoproject.org/download.html
Jak już to zrobisz, przeczytaj
https://pocoproject.org/slides/200-Network.pdf
To co Cię interesuje jest od strony 23
Tu masz przykładowy kod (stary i nie wiem czy działa)
https://www.codeproject.com/articles/252827/learning-poco-a-simple-http-server
Jeśli nie słyszałeś do tej pory o wątkach, to sobie od razu doczytaj ;)
Raczej tak, znam podstawy c++, a samo c jeszcze lepiej, ale nie znam sie na sieciach dlatego pytam. - nowewww wczoraj, 22:10
Szkoda, nie pytałem o PODSTAWY ale o DUŻE doświadczenie i kwalifikacje.
Z doświadczeniem - nawet nie mówiąc o gramie kodu - byś po pierwsze miał (o wiele) lepszy ogląd projektu, widział co MUSISZ, co MOŻESZ, jak duży-problem pociąć na pod-problemy (w których miejscach ciąć), wybrać właściwe architektury (i nie ukrywajmy języki). Przy braku, nawet nie bardzo jest jak ubrać w ścisłe słowa, że nawet nie świta realizacja (bo jak realizować chmurkę z mgły).
Czy choćby zobaczenie "co jeszcze potrzeba".
Powyższe pięć punktów to się nadaje na marketingowa ulotkę a nie plan/uwarunkowania projektu. A o kodowaniu to w ogóle nic nie mówię.
A znajomość języka jaka się przebija, to "jeszcze nie wiem, czego nie wiem", sorry Winnetou
Ukrywasz, co to za sytuacja, ale myślę przerosła Twoje obecne kwalifikacje nie o mieciąc-dwa, ale o rzad wielkości/1-3 lat profesjonalnego (tzn pełnoetatowego a nie z doskoku 2x do roku) "skila". Znalazłeś się w niewłaściwym punkcie czasoprzestrzeni. Wyplątaj się z tego.
nowewww napisał(a):
mówią że c lepiej do tego się nadaje od skryptów.
Kto mówi?
"do tego", czyli do czego?
Bartłomiej Golenko napisał(a):
Robienie tego w C++ nie ma sensu, ale skoro się upierasz...
Zainstaluj sobie dodatkową bibliotekę:
https://pocoproject.org/download.htmlJak już to zrobisz, przeczytaj
https://pocoproject.org/slides/200-Network.pdf
To co Cię interesuje jest od strony 23Tu masz przykładowy kod (stary i nie wiem czy działa)
https://www.codeproject.com/articles/252827/learning-poco-a-simple-http-serverJeśli nie słyszałeś do tej pory o wątkach, to sobie od razu doczytaj ;)
Sprawdzę to, zrobię, więc chwilowo znikam.
Za kilka din dam znać, czy to działa.
Aha. Gdzie najtaniej wynająć, kupić serwer - domenę, albo wynająć na próbę?
Zacznij może od tego : https://www.codeproject.com/Articles/5280036/Making-HTTP-REST-Request-in-Cplusplus-With-WinHTTP
To są podstawy, musisz najpierw ogarnąć obsługę protokołu http w C++ i podstawowych operacji na nim.
w C/C++ raczej tego nie zrobisz
Kuuuurde. Teraz trzeba powiedzieć panom od Apache, żeby przestali. Pewnie nie zdają sobie nawet sprawy.