/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ICQ brugere online?
Fra : Mads Pedersen


Dato : 08-02-01 19:26

Hejsa,

Jeg kunne godt tænke mig at lave en hjemmeside emd en liste over de ICQ
brugere som er online (ud fra en liste).

Jeg har været inde på icq.com og findet:
http://www.icq.com/features/web/indicator.html

Men den kan kun bruge en masse grim grafik og som jeg ser det skal man også
vise grafikken hvis man er offline. Jeg ønsker at lave en tekst-liste der
kun indeholder brugere som er online.

Idéer???


// Mads


 
 
Niels Andersen (08-02-2001)
Kommentar
Fra : Niels Andersen


Dato : 08-02-01 20:31

"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B6A8A354.159B0%mads@imv.au.dk...
> Jeg kunne godt tænke mig at lave en hjemmeside emd en liste over de ICQ
> brugere som er online (ud fra en liste).

> http://www.icq.com/features/web/indicator.html

Lad php hente billedet. Så kan du ud fra filstørrelsen konkludere om
vedkommende er "Online", "Offline" eller "Andet".
Jeg har noget kode liggende, som jeg har stjålet fra mbn.dk, så vidt jeg
husker...
Øjeblik...

Leg med dette:

function online_status_dk($uin) {
$arr = file(
"http://online.mirabilis.com/scripts/online.dll?icq=$uin&img=1");
$len = strlen($arr[1]);
if ($len == 96) return "Online";
if ($len == 83) return "Offline";
if ($len == 1) return "Ukendt";
}

:)


Mvh.

Niels Andersen



Mads Pedersen (09-02-2001)
Kommentar
Fra : Mads Pedersen


Dato : 09-02-01 00:40

in article UvCg6.36405$l57.1584001@news000.worldonline.dk, Niels Andersen at
niels-usenet@myplace.dk wrote on 08/02/01 20:31:

> function online_status_dk($uin) {
> $arr = file(
> "http://online.mirabilis.com/scripts/online.dll?icq=$uin&img=1");
> $len = strlen($arr[1]);
> if ($len == 96) return "Online";
> if ($len == 83) return "Offline";
> if ($len == 1) return "Ukendt";
> }

Tak - det virker næsten...
Jeg kan få tre forskellige filstørrelser ud af icq.
105 = online
0 = offline
18 = online + bag ved firewall / offline

Jeg synes dog at den er noget ustabil. F.eks. melder den nogengange mig som
en "18" selvom jeg er online og ikke er bag en firewall - hmmm...

Har du selv prøvet at bruge scriptet og har du erfaringer i den retning????


// Mads


Mads Pedersen (09-02-2001)
Kommentar
Fra : Mads Pedersen


Dato : 09-02-01 01:15

in article B6A8ECF1.159C5%mads@imv.au.dk, Mads Pedersen at mads@imv.au.dk
wrote on 09/02/01 00:40:

> in article UvCg6.36405$l57.1584001@news000.worldonline.dk, Niels Andersen at
> niels-usenet@myplace.dk wrote on 08/02/01 20:31:
>
>> function online_status_dk($uin) {
>> $arr = file(
>> "http://online.mirabilis.com/scripts/online.dll?icq=$uin&img=1");
>> $len = strlen($arr[1]);
>> if ($len == 96) return "Online";
>> if ($len == 83) return "Offline";
>> if ($len == 1) return "Ukendt";
>> }

.... og så lige en anden ting. Jeg har 20 icq numre jeg skal holde styr på og
det kræv er jo 20 forespørgsler til icq-serveren. Det er simpelthen for lang
tid man må vente på det.

Tror jeg bliver nødt til at droppe det - i hvert fald på min forside!!!


// Mads (http://www.doubleloop.dk)
--------------------------------------
If thine eye offend thee...
http://imv.au.dk/~mads/

Site news 27-02-2001:
The newsgroup alt.design.graphics has completed "14 days of art". Go check
out the submissions - great stuff!



Peter Brodersen (09-02-2001)
Kommentar
Fra : Peter Brodersen


Dato : 09-02-01 03:21

On Fri, 09 Feb 2001 01:15:14 +0100, Mads Pedersen <mads@imv.au.dk>
wrote:

>... og så lige en anden ting. Jeg har 20 icq numre jeg skal holde styr på og
>det kræv er jo 20 forespørgsler til icq-serveren. Det er simpelthen for lang
>tid man må vente på det.

Det er relevant i det hele taget at overveje hvilke opslag, der
vitterligt _skal_ foregå "on-the-fly", og hvilke, der bare skal være
klar, når brugeren besøger din side.

Fordelen ved blot at have <IMG SRC="..."> til billederne er, at
brugerens browser kan requeste dem - samt at browseren kan requeste
flere billeder simultant.

>Tror jeg bliver nødt til at droppe det - i hvert fald på min forside!!!

Alternativt kan du have et uafhængigt script kørende en gang i
minuttet (eller hvert 5. minut) til at checke ICQ-serveren. Har du
mere end en besøgende hvert 5. minut, vil dette også være aflastende
for ICQ-serveren. Dette script skal så blot logge nogle værdier til en
fil, som PHP vælger at læse.


--
- Pede
Professionel nørd

Niels Andersen (09-02-2001)
Kommentar
Fra : Niels Andersen


Dato : 09-02-01 07:06

"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B6A8F522.159C9%mads@imv.au.dk...
> ... og så lige en anden ting. Jeg har 20 icq numre jeg skal holde styr på
og
> det kræv er jo 20 forespørgsler til icq-serveren. Det er simpelthen for
lang
> tid man må vente på det.

Forsiden er det jo nok ikke godt til, men man kan gøre mange ting for at
gøre problemet mindre.

Efter hver forespørgsel kan du skrive "flush();". Så vil du tvinge serveren
til at sende det, der er genereret afsted. Altså, så kan man se det på
siden, som er over dnie ICQ-status-ting. Med forbehold for tables osv. :)

Noget andet du kan gøre er, at skrive fx. "status ukendt", og så give det en
id. Som det sidste inden dit </body>-tag indsætter du lidt javascript, som
så ændrer det til det rigtige.
På den måde flytter du det tunge, til man har tid til at vente på det.


Mvh.

Niels Andersen



Mads Pedersen (09-02-2001)
Kommentar
Fra : Mads Pedersen


Dato : 09-02-01 09:08

in article 7NLg6.36800$l57.1632772@news000.worldonline.dk, Niels Andersen at
niels-usenet@myplace.dk wrote on 09/02/01 07:06:

> Efter hver forespørgsel kan du skrive "flush();". Så vil du tvinge serveren
> til at sende det, der er genereret afsted. Altså, så kan man se det på
> siden, som er over dnie ICQ-status-ting. Med forbehold for tables osv. :)

God idé, men den er nok ikke så anvendelig i mit tilfælde - netop pga.
tables.

> Noget andet du kan gøre er, at skrive fx. "status ukendt", og så give det en
> id. Som det sidste inden dit </body>-tag indsætter du lidt javascript, som
> så ændrer det til det rigtige.
> På den måde flytter du det tunge, til man har tid til at vente på det.

Det var måske en mulighed. Men jeg tror nu at jeg vælger at droppe det. Det
var egl. mere lidt geil til forsiden. Desuden er der en håndfuld (af 20) som
sidder bag en firewall og derfor ikke vises korrekt.

Tak for hjælpen!

// Mads


Niels Andersen (09-02-2001)
Kommentar
Fra : Niels Andersen


Dato : 09-02-01 10:53

"Mads Pedersen" <mads@imv.au.dk> wrote in message
news:B6A96405.159EC%mads@imv.au.dk...
> Desuden er der en håndfuld (af 20) som
> sidder bag en firewall og derfor ikke vises korrekt.

På arbejde sidder jeg bag en firewall. Det giver ingen problemer.
Måske man skulle gøre den håndfuld opmærksom på at ICQ kan konfigureres?
(Jeg har i øvrigt heller ingen problemer med filoverførsler, hverken frem
eller tilbage)


Mvh.

Niels Andersen



Mads Pedersen (09-02-2001)
Kommentar
Fra : Mads Pedersen


Dato : 09-02-01 12:42

in article 960emi$omn$1@news.inet.tele.dk, Niels Andersen at
niels-usenet@myplace.dk wrote on 09/02/01 10:52:

> På arbejde sidder jeg bag en firewall. Det giver ingen problemer.
> Måske man skulle gøre den håndfuld opmærksom på at ICQ kan konfigureres?
> (Jeg har i øvrigt heller ingen problemer med filoverførsler, hverken frem
> eller tilbage)
Er der andre indstillinger end "web-aware" som man skal være opmærksom på i
ICQ. Den eneste fællesnævner jeg kunne finde for som som ikke viste status
korrekt var firewall, men andre forslag er selvfølgelig velkomne!

// Mads (http://www.doubleloop.dk)
--------------------------------------
If thine eye offend thee...
http://imv.au.dk/~mads/

Site news 27-02-2001:
The newsgroup alt.design.graphics has completed "14 days of art". Go check
out the submissions - great stuff!



Niels Andersen (09-02-2001)
Kommentar
Fra : Niels Andersen


Dato : 09-02-01 21:25

"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B6A99610.15AC0%mads@imv.au.dk...
> > På arbejde sidder jeg bag en firewall. Det giver ingen problemer.
> > Måske man skulle gøre den håndfuld opmærksom på at ICQ kan konfigureres?
> > (Jeg har i øvrigt heller ingen problemer med filoverførsler, hverken
frem
> > eller tilbage)
> Er der andre indstillinger end "web-aware" som man skal være opmærksom på
i
> ICQ. Den eneste fællesnævner jeg kunne finde for som som ikke viste status
> korrekt var firewall, men andre forslag er selvfølgelig velkomne!

Jeg hentyder til følgende indstilling:

Hvis man ikke har nogen indgående porte (fx. sidder bag en firewall eller
NAT) fortæller man ICQ at man sidder bag en firewall. Den vil så spørge
efter hvilke porte der er tilgængelige, der siger man fra "0" til "0".

FUT: dk.edb.internet.software.icq (som jeg ikke læser)


Mvh.

Niels Andersen



Peter Brodersen (09-02-2001)
Kommentar
Fra : Peter Brodersen


Dato : 09-02-01 03:18

On Fri, 09 Feb 2001 00:40:18 +0100, Mads Pedersen <mads@imv.au.dk>
wrote:

>> function online_status_dk($uin) {
>> $arr = file(
>> "http://online.mirabilis.com/scripts/online.dll?icq=$uin&img=1");
>> $len = strlen($arr[1]);

Dette er dog en lidt speciel konstruktion; specielt fordi file opdeler
resultatet pr. "linie" - og ved et gifbillede kan man ikke forudsætte,
at der er returns (og således derfor risikerer, at $arr[1] vil være
lig med 0 i flere tilfælde). $arr[1] er altså ikke lig med
filstørrelsen, men lig med størrelsen af en del af filen.

Under alle omstændigheder vil det selvfølgelig blive et problem hvis
filerne/outputtet ændrer sig; det er blot relevant at være opmærksom
på i fremtiden.

Desværre giver
http://online.mirabilis.com/scripts/online.dll?icq=$uin&img=1 ikke et
hensigtsmæssigt HTTP-resultat; i så fald ville man bare kunne lave en
HEAD eller lignende. Laver man det, returnerer serveren i øvrigt:

===
HTTP/1.0 200 OK
Content-type: text/html

<body><h1>HTTP/1.0 200 WHY</h1></body>
===

.... og det skal man nok ikke tænke nærmere over


--
- Pede
Professionel nørd

Niels Andersen (09-02-2001)
Kommentar
Fra : Niels Andersen


Dato : 09-02-01 07:02

"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B6A8ECF1.159C5%mads@imv.au.dk...

> > function online_status_dk($uin) {
> > $arr = file(
> > "http://online.mirabilis.com/scripts/online.dll?icq=$uin&img=1");
> > $len = strlen($arr[1]);
> > if ($len == 96) return "Online";
> > if ($len == 83) return "Offline";
> > if ($len == 1) return "Ukendt";
> > }
>
> Tak - det virker næsten...

Der er nogen ting jeg ville have gjort anderledes. :)
Jeg vil gætte på, at den er skrevet i al hast.

> Jeg synes dog at den er noget ustabil. F.eks. melder den nogengange mig
som
> en "18" selvom jeg er online og ikke er bag en firewall - hmmm...

Hvis du bruger billedet vil du se, at den ofte siger "disabled", uanset om
du er online eller offline.

> Har du selv prøvet at bruge scriptet og har du erfaringer i den
retning????

Jaja, og det er egentlig lige så godt som at bruge selve billedet. :)


Mvh.

Niels Andersen



Søg
Reklame
Statistik
Spørgsmål : 177523
Tips : 31968
Nyheder : 719565
Indlæg : 6408677
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste