Jump to content
php.lv forumi

onunload=<?php?>


future_funk

Recommended Posts

Kaklz

hmm, jaa tev taisniiba!

 

a kaa buutu, piemeram, ja uztaisitu skriptu:

 

1.klients ienaak lapaa

2.serveris izveido sesiju un sesijaa ieliek IP adresi

3.uz servera vislaik staav atveerts browseris ar skriptu, kursh vislaik izpilda sekojoshas darbiibas:

3.1.panem no visam sesijam ip adreses

3.2.katru ip adresi nopingo (system("ping -n 1 ip"));

3.3.atkariibaa no taa vai sanem atbildi vai nesanem veic nepiecieshamaas darbiibas

 

+ veel tajaa lapaa ko klients atver iebliezt to conncetion_status() kodu, ko rakstiiju

un sitos abus kopaa savienojot stradatu jebkura gadijumaa, gan aizver browseri gan ja pat nestabils neta pieslegums, no kura vislaik izraujaas vads aaraa B)

 

tas buutu reaali? :blink:

Link to comment
Share on other sites

nē, tas nebūtu reāli:

1. ir cilvēki, kas sēž aiz firewall un nelaiž tam cauri ECHO requestus (ping komandu), attiecīgi IP adresi tu nopingot nevari.

2. ir pietiekoši daudz uzņēmumu un iestāžu, kurās ir viena ārējā IP adrese uz neskaitāmiem datoriem.

3. ko tu darīsi situācijā, kad tev būs 100 aktīvu lietotāju? Katru pingosi un no viņa saņemsi arī atbildi?

4. uz servera turēt atvērtu browseri ir deizgan slimīgs pasākums, protams, ja vien mums ir vienāda izpratne, ko nozīmē vārds browseris un kas ir serveris. Ja tu runā par shell skriptu, kas visu laiku sēž atmiņā un veic tevis teiktās darbības, tad tas jau ir vairāk uz pareizo pusi, taču tas nekādā gadījumā nemaina 3 iepriekšējos punktus.

 

Reālākais variants tomēr ir tas pats JavaScript (HTTPRequest), kas ar savu settimeout() funkciju kaut kā padod serverim datus par savu dzīvību .. un tajā pašā laikā serveris ar php un kaut vai MySQL palīdzību reģistrē visas sesijas datubāzē un dzēš teiksim visas sesijas, kurās nav nekādas aktivitātes ilgāk kā teiksim 10 minūtes no vietas.

Link to comment
Share on other sites

  • 3 weeks later...
  • 9 months later...

Vispār eksistē arī tāda lieta kā sesijas ierakstīšana datu bāzē. Ir čupā dažādu klašu un/vai funkciju, kas to realizē - tā arī ir daļēji iespējams sekot līdzi vai cilvēks ir onlainā vai nav. Bez tam par tās sesijas izdzēšanu... pareizi manipulējot ar php.ini (konkrētāk jāskatās uz garbage collection timeoutiem), iespējams panākt to, ka sesija tiek gana fiksi likvidēta pēc tam, kad lietotājs ir beidzis darboties pa serveri.

Link to comment
Share on other sites

×
×
  • Create New...