ICQ-login über php

Blaschki

Erfahrenes Mitglied
Hallo,

Ich hab ein kleines Problem.

Ich will mich über php bie meinem ICQ-Account anmelden.
Nun aber das Problem. wie kann ich Pakete die zurück kommen auslesen.
erst mal den code:
Code:
<?
$in = ("02 00 E8 03 00 00 00 00 08 A3 EF D3 0F A0"); // das start-paket

$fp = fsockopen ("udp://login.icq.com", 4000, $errno, $errstr, 30); //Verbindungsaufbau
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} else {
   fputs ($fp, $in);
   while (!feof($fp)) {
       echo fgets($fp,128); //Abfrage des Paketes
   }
   fclose($fp);
}
?>

Ich verwende bis jetzt immer fgets um an die Daten zu kommen.
Wenn ich "udp://" weg nehme komt auch was an, aber nur mist. Normal kommen die Daten über "udp" an und werden auch vom client gesendet.

keine Ahnung warum es nicht so wie es soll
 
es gibt ja insgesamt 9 Protokollversionen vom ICQ-Protokoll
ich werde noch das der Version 2 verwendenm, da es noch genutzt wird und nicht so aufgebläht ist. (go.icq.com nutzt es noch)

!alles in Englisch!

eine Doku dazu ist hier (sehr gut)
http://www.student.nada.kth.se/~d95-mih/icq/spec/v2/icq091.txt

für die version 3 gibt es hier nee gute Zusammenstellung
http://www.student.nada.kth.se/~d95-mih/icq/spec/v4/v4-notes.txt

und speziell sortiert nach client und server hir (nicht ganz vollständig)

Client: http://iserverd.khstu.ru/documents/client.html
Server: http://iserverd.khstu.ru/documents/server.html

Hier ist was für version 5
http://www.algonet.se/~henisak/icq/icqv5.html

Für Version 7-9 ist hier noch was, aber nicht so tool geschrieben find ich
http://iserverd.khstu.ru/oscar/


Mein Problem ist nur wie ich die Daten abfangen kann die der Server sendet.
 
der fortlauf dieses Posts würde mich sehr interessieren, tut mir leid, dass ich nichts sinnvolles beitragen kann
flooo
 
Ich habe das ganze noch mal abgeändert.
ich werde mcih doch mit der Version 4 des protkoll anfreunden.
Die Bildung der Pakete ist acuh kein Problem.
Aber wie müssen die sein wenn man sie per UDP und php überträgt.
-hex ? -dec? -ascci? -bin?
weiß das jemand hier im board.
Das abfangen von befehlen geht jetzt acuh, ich bekomme aber nur fehler da ich beim senden noch fehler mach.

hier mal der login und die Variable $in ist dan das Paket
PHP:
$server_ip    = "login.icq.com";
$server_port = 5091; 

$server_con = fsockopen("udp://".$server_ip, $server_port); aufbauen

fwrite($server_con, sprintf($in);

echo fread($server_con, 4);
 
Ich wollte mal wissen wie dein aktueller Stand ist ich beschäftige mich auch gerade mit diesem Thema. So wie das aussieht ist das hex und müsste dann so in der art aussehen $in = chr(0x02).chr(0x00).chr(0xE8).chr(0x03).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x08).chr(0xA3).chr(0xEF).chr(0xD3).chr(0x0F).chr(0xA0);
 
Das Thema interessiert mich auch, wenn ich mal Zeit habe, schaue ich mir das auch mal genauer an. MfG Radhad
 
Zurück