Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jaka technologia?
Forum PHP.pl > Inne > Hydepark
janusz851
Cześć wszystkim.

Orientuje się może ktoś z Was w jakiej technologi zrobiona jest strona za10groszy.pl, jeśli nie to z jakiego języka najlepiej skorzystać ? Chodzi mi o aukcje. W firebugu widać, że klient nie odpytuje serwera dajmy na to co 1 sek, aby sprawdzić czy ktoś podbił cenę, tylko od razu jeśli coś się zmieniło serwer daje odpowiedź.
Tuminure
[JAVASCRIPT] pobierz, plaintext
  1. // źródło pliku za10groszy.pl/scripts/commonExt_1385.js
  2. function getPrice(auctionId) {
  3. setTimeout("getPrice2(" + auctionId + ")", 500);
  4. }
  5.  
  6. function getPrice2(auctionId) {
  7. if (auctionId != '') {
  8. if (auctionsRE[auctionId] != undefined) {
  9. return true;
  10. }
  11. sendRequest(updateAuctions, CHECK_PRICE_PAGE + "?aid=" + auctionId + "&", null);
  12. }
  13. return false;
  14. }
  15.  
  16. itd...
[JAVASCRIPT] pobierz, plaintext

W taki sposób pobierana jest cena. Czyli co pół sekundy odpytuje serwer.
janusz851
A jak myślicie co jest lepsze:

1. Wysyłanie zaptania tak jak wyżej co 0.5 s.

2. Jedno zapytanie do pliku php, gdzie wykonywana jest pętla ze sleep(1), dotad az cos sie stanie.
Szymciosek
Plik php zatrzyma wykonywanie.

Z resztą sam sprawdź

Spróbuj uruchomić taką funkcję

function loopTest()
{
for ($i = 0; $i < 100; $i++) {
sleep(1);
// odpytywanie co sekunde??
}
echo 'koniec';
}
mrc
Zainteresuj się webSocketami - ta technologia pozwala na komunikację dwustronną pomiędzy klientem a serwerem. Ajax to komunikacja jednostronna, zawsze inicjowana przez klienta.
by_ikar
Lepsze są websokety, gdzie możesz w czasie rzeczywistym mieć połączonych na prawdę wielu kleintów (gdzieś był test miliona jednoczesnych połączeń na maszynie 16gb ram) i wysłać jednym emitem do nich wszystkich informacje o jakiejś zmianie. Wydajnościowo jest to najlepsze rozwiązanie IMO.
sweter
@janusz851: Tworzę rozwiązanie, które ma na celu symulowanie połączenia takiego jak WebSocket nawet, gdy przeglądarka ich nie wspiera. Jeżeli jesteś zainteresowany pisz na PW.
janusz851
Z tego co się zdążyłem zorientować to do WebSocketow nie wytsarczy zwykly hosting. Musiałby to wspierać. Chyba, że się myle? To rozwiązanie byloby idealne, ale nie chce wydawać pieniedzy, bo tę "aplikacje" pisze w celach, ze tak powiem prywatnych. Maksymalnie korzystałoby z niej na raz 50 osob. Wiem, ze JAVA jest dobra do takich aplikacji, ale nie mialem nigdy styczności z tym jezykiem. Dotychczas moje proby wyglądaly nastepująco:

plik.txt ; client.html, server.php

client.html wysyła AJAXem zapytanie do server.php o ostatnia modyfikacje plik.txt, server.php zwraca do client.html ostatnia modyfikacje, client wysyla znana juz ostania modyfikacje, a server.php sprawdza za pomoca petli while ze sleep(1) czy ostatnia modyfikacja plik.txt nie ulegla zmianie, jesli tak to zwraca cos tam.. i od poczatku to samo smile.gif

Na localhoscie musze przynzac, ze zdawalo egzamin, ale obawiam sie ze hosting tego nie przyjmie.
by_ikar
Cytat(sweter @ 23.10.2014, 14:27:17 ) *
@janusz851: Tworzę rozwiązanie, które ma na celu symulowanie połączenia takiego jak WebSocket nawet, gdy przeglądarka ich nie wspiera. Jeżeli jesteś zainteresowany pisz na PW.


socket.io ma fallback do soketów we flasu, xhr-pooling czy json-pooling, więc nie jest to nic "nowego"..

@janusz851 najtańszy vpn jakiś i stawiasz sobie node (instalacja jest banalna). Ewentualnie zainteresuj się mydevil.net tam node jest out of box, plus wiele innych rzeczy, a ceny nie są jakieś wygórowane.
Tuminure
Zawsze możesz i nawet coś darmowego spróbować, jak np. https://www.openshift.com/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.