Katzenbauer
Erfahrenes Mitglied
Hallo,
ich schreibe gerade eine Libary, die es ermöglicht via des ICQ Protokolls auf den ICQ Server mit Benutzername und Kennwort zu connecten und von dort aus Messages zu schreiben. Also nicht mittels dieses Mail Systems sondern direkt ne Tcp Verbindung zum ICQ Server.
Ich bin mittlerweile soweit, dass ich ein korrektes Flap-Packet (so nennt sich das low Level Packet vom icq Protokoll) zum Auth Server schicke und dann, wenn alle Daten stimmen die Adresse vom Hauptserver + Auth Cookie in einem Flap Packet zurück bekomme. Soweit so gut. Nun zu meinem Problem.
Wenn ich mittels fsocketopen() auf den Server connecte sendet der Client (also mein Webserver) direkt nachdem das Script abgelaufen ist einen Verbindungsabbau und das noch bevor ich das entscheidende Packet mit dem Auth Cookie bekomme. Da hab ich mir gedacht nehm ich doch einfach mal pfsocketopen(). Leider bleibt er dann die ganze Zeit verbunden, sodass ich ohne den Webserver runterzufahren keine neue Verbindung aufbauen bzw. ein neues Packet senden kann, falls man sich beim Passwort vertippt hat, obwohl die Gegenseide schon längst einen Verbindungsabbau gesendet hat. Ein bissl buggy bei php das ganze denk ich mal. Der braucht jedes mal sein fclose(), obwohl der trotzdem dadurch kein Packet raussendet. Der braucht das irgendwie intern.
Hab das bisher mal ganz dirty mit sleep(1); vor dem fclose() abgedichtet. Optimal wäre eine Möglichkeit die das fclose() ausführt, wenn ich von der Gegenseite ein Packet zum Verbindungsabbau bekomme. Sowas gibt es bestimmt. Helft mir bitte
ich schreibe gerade eine Libary, die es ermöglicht via des ICQ Protokolls auf den ICQ Server mit Benutzername und Kennwort zu connecten und von dort aus Messages zu schreiben. Also nicht mittels dieses Mail Systems sondern direkt ne Tcp Verbindung zum ICQ Server.
Ich bin mittlerweile soweit, dass ich ein korrektes Flap-Packet (so nennt sich das low Level Packet vom icq Protokoll) zum Auth Server schicke und dann, wenn alle Daten stimmen die Adresse vom Hauptserver + Auth Cookie in einem Flap Packet zurück bekomme. Soweit so gut. Nun zu meinem Problem.
Wenn ich mittels fsocketopen() auf den Server connecte sendet der Client (also mein Webserver) direkt nachdem das Script abgelaufen ist einen Verbindungsabbau und das noch bevor ich das entscheidende Packet mit dem Auth Cookie bekomme. Da hab ich mir gedacht nehm ich doch einfach mal pfsocketopen(). Leider bleibt er dann die ganze Zeit verbunden, sodass ich ohne den Webserver runterzufahren keine neue Verbindung aufbauen bzw. ein neues Packet senden kann, falls man sich beim Passwort vertippt hat, obwohl die Gegenseide schon längst einen Verbindungsabbau gesendet hat. Ein bissl buggy bei php das ganze denk ich mal. Der braucht jedes mal sein fclose(), obwohl der trotzdem dadurch kein Packet raussendet. Der braucht das irgendwie intern.
Hab das bisher mal ganz dirty mit sleep(1); vor dem fclose() abgedichtet. Optimal wäre eine Möglichkeit die das fclose() ausführt, wenn ich von der Gegenseite ein Packet zum Verbindungsabbau bekomme. Sowas gibt es bestimmt. Helft mir bitte