DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   bigspy backend (http://www.devprotalk.com/showthread.php?t=2926)

Blood 21. 05. 2007. 02:35

Citat:

Originalno napisao dee (Napišite 35648)
to je jasno (mislim na trud za praksu ;) ), ali sto ivanhoe rece, nisam siguran da je najsretnije rjesenje. pogotovo kad nahrupi usera.

Citat:

Originalno napisao MorenoArdohain
Klijent svakih XX (mili)sekundi salje serveru poziv tipa: "ima li neki novi podatak za prikazati"?
Server odgovara "Nema".
I opet: "Nema".
I onda "Nema pa nema".
Odjednom se desi da ima.
I server kaze:
"Ej stani, imam nesto za tebe".
Klijent onda kaze "Super, hvala, sad cu ga prikazati".

eto ivanhoe rece (tnx) drzanje otvorenog socketa i slusanje...to mi zvuci kao dobra ideja... ima li mozda jos neki prijedlog?

Pa to je upravo ono sto i COMET radi, znaci na svakih x sekundi proverava da li se nesto novo desilo, ako jeste vrati rezultat, ako nije, nikom nista.. :)

ppavlovic 21. 05. 2007. 07:11

Pogledaj http://whos.amung.us/show/oqwq70li kroz Firebug.

Upitaj server svakih X sekundi (gde je X neko srednje vreme pojave novih tekstova). Stavi kesiranje sa strane servera na X sekundi da ne bi svaki put pitao bazu i formatirao JSON / HTML / XML ili sta vec vracas kao rezultat.

dee 21. 05. 2007. 09:05

Citat:

Originalno napisao ppavlovic (Napišite 35653)
Pogledaj http://whos.amung.us/show/oqwq70li kroz Firebug.

Upitaj server svakih X sekundi (gde je X neko srednje vreme pojave novih tekstova). Stavi kesiranje sa strane servera na X sekundi da ne bi svaki put pitao bazu i formatirao JSON / HTML / XML ili sta vec vracas kao rezultat.

ovo mi se svidja! hvala ti!


nixa, ovo server side rjesenje u PHPu za XMLSocket(), mislis na ono while(true) {} pa unutar toga slusanje socketa? ili nesto drugo?

ivanhoe 21. 05. 2007. 12:42

Citat:

Originalno napisao Blood (Napišite 35651)
Pa to je upravo ono sto i COMET radi, znaci na svakih x sekundi proverava da li se nesto novo desilo, ako jeste vrati rezultat, ako nije, nikom nista.. :)

AFAIK, comet je tehnika drzanja otvorene konekcije, gde se podaci push-uju, a ne pull-uju... znaci kod cometa server ceka da se nesto desi i onda shibne podatke klijentima, a klijenti sve vreme sede i cekaju podatke, bez da cimaju server svakih xyz (mili)sekundi.

dee 21. 05. 2007. 12:50

da, neki scenario bi trebao biti: skripta koja objavljuje clanke, prilikom objave clanka salje u socket info o novom clanku a npr. XMLSocket() u Flashu 'sjedi i ceka' i odradi nesto kad podaci dodju...

ostaje pitanje kako da zavrtim PHP skriptu (koja glumi server) da se vrti beskonacno neovisno o script_execution_time...

[edit: set_time_limit(0) izgleda rjesava stvar]

MrSteel 22. 05. 2007. 00:36

jeste pogledali kako su oni to zaista resili :)

MrSteel 22. 05. 2007. 01:11

http://stamen.com/

Free Flash API toolkit
http://code.google.com/p/diggflashdevkit/

Digg API homepage
http://apidoc.digg.com/

super je sto ima i XML i JSON i Javascript i PHP seriajalizovane objekte

kao primer service rezultata
http://services.digg.com/stories/204...2Ecom%2Fbigspy

ivanhoe 22. 05. 2007. 02:26

nije tesko resiti klijenta, ovde je frka da se odradi serverski deo tako da kad ima dosta klijenata:
1) ne pojede svu memoriju
2) radi dovoljno brzo sa gomilom otvorenih socketa

za razuman nivo saobracaja to nije mnogo tesko napisati u npr. perlu, ali naravno ne treba izmisljati toplu vodu, ima gomila (polu)gotovih resenja...

kad smo vec kod ovoga, koji besplatni socket server bi vi preporucili ?

MrSteel 22. 05. 2007. 07:47

bigspy nije na socketima, to je bila poenta mog posta
upravo tako se stedi memorija, mislim da bi digg prso kad bi morao da radi tako

inace red5 je besplatan vrhunski socket server, radi i video i audio streaming itd.

dee 22. 05. 2007. 09:36

MrSteel, hvala na linkovima!

ipak najobicniji requesti?


Citat:

Requests

* See ResponseTypes for details on specifying desired media type in a request.
* All requests must include an Application Key.
* All requests must include a User-Agent HTTP Header (see below).
* Requests made from Javascript running on your web pages must be proxied to avoid same-origin policy conflicts.

Citat:

Now consider an application that keeps track of current data in real time. That application should:



1. Make an initial request with no min_date or max_date argument. The response will include only the latest items. The end of the implicit time period can be found in the timestamp property of the root element of the response--it'll be close to the time when the request was received.
2. Note the timestamp in the response, and make another request with that timestamp as the min_date argument. The response will include items which immediately follow that timestamp, and a new value in the timestamp property.
3. Repeat step 2 to get even more current data.


Vreme je GMT +2. Trenutno vreme je 10:31.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.