![]() |
TICQClient - Filetransfer
Hi,
Ich bekomme den Filetransfair mit der TICQClientkomponente nicht hin.. Ich hab sie schon so modifiziert das man sich einloggen kann und Messages empfangen kann. Muss man da vielleicht noch etwas verändern? Ich versuche es bisher einfach so:
Delphi-Quellcode:
Wäre für Hilfe sehr dankbar!
ICQ.SendFileDC(UIN,Filename,Description);
Gruß Neutral General |
Re: TICQClient - Filetransfer
ist auch der gegenseite das entsprechende Port im Router bzw. Firewall freigegeben?
|
Re: TICQClient - Filetransfer
Ja bei mir funktioniert der Filetransfer... Ich schicke mir ja mit meiner zweiten ICQ nr von MEINEM ICQ-Clienten eine Datei zu meiner Haupt-ICQ-Nummer... Es kommt ja nichtmal diese Anfrage..
|
Re: TICQClient - Filetransfer
So und zu einem Fremdrechner funktioniert dies nicht?
Dann gehts hier wirklich um die Freigabe im Router und/oder Firewall. Als Beispiel: bei meinem original ICQ (sowie Trillian, Miranda,...) funktioniert der File Transfer auch nicht, weil ich keine Routerfreigabe drinnen habe (verschiedene andere Gründe ;) ) Also schau bitte erstmal danach, falls das wirklich der Fall ist. Welcher Port das ist, das wird dir die Source vom TICQClient, bzw. Google sicher sagen Gruß alias5000 |
Re: TICQClient - Filetransfer
Zitat:
Ich sitze hier an einem Rechner.. mit meiner Haupt-ICQ-Nr in ICQ5 und mit meiner Zweit-ICQ-Nr in meinem Programm online.. alles an einem Rechner.. und jetzt will ich von meiner Zweit-ICQ-Nr. eine Datei zu meiner Haupt-ICQ-Nr schicken... Und das funktioniert nicht. Wenn ich das mit ICQ mache und nicht mit meinem Clienten dann ist das kein Problem... :arrow: ICQ-Filetransfer generell funktioniert! Also was ich herausgefunden habe: In TICQClient.SendFileDC wird
Delphi-Quellcode:
aufgerufen. Und dort wird auf
fDirect.SetFileRecord(UIN, FileSend);
Delphi-Quellcode:
zugegriffen. Da sind irgendwie die Benutzerdaten für den Filetransfer gespeichert. ABER bei mir ist diese Liste leer. Das heißt es geht dort nicht weiter!
fUL
Hinzufügen tut man einen solchen Benutzer mit fDirect.AddUser(...). Das weiß ich auch.. Aufgerufen wird diese procedure aber nur ein einziges mal und zwar in
Delphi-Quellcode:
und das auch nur
TICQClient.HSnac030B
Delphi-Quellcode:
TICQClient.HSnac030B wird auch nur ein einziges mal aufgerufen und das in
case GetInt(Pkt, 2) of
$0a
Delphi-Quellcode:
Die wird immer aufgerufen wenn ein Paket ankommt.. Aber HSnac030B wird auch nur aufgerufen wenn
TICQClient.HandlePacket
Delphi-Quellcode:
Und das wird nie aufgerufen
case Flap.ChID of
$03: ... case Snac.SubType of $0B: {SRV_USERONLINE} HSnac030B(Flap, Snac, @pkt); :arrow: fDirect.AddUser wird nie aufgerufen. fDirect ist ausschließlich privat erreichbar. Jetzt ist die Frage welches Paket da irgendwie ankommen muss und wie ich dafür sorge das ein solches Paket ankommt.... Ich hoffe man konnte das irgendwie verstehn^^ Gruß Neutral General |
Re: TICQClient - Filetransfer
Es gibt neues von der Front :wall:
in der Procedure wo auch AddUser aufgerufen wird
Delphi-Quellcode:
wird auch vorher dieser Block ausgeführt:
procedure TICQClient.HSnac030B(Flap: TFlapHdr; Snac: TSnacHdr; Pkt: PRawPkt);
Delphi-Quellcode:
diese Daten werden dann bei AddUser übergeben:
case GetInt(Pkt, 2) of
$0c: begin Inc(Pkt^.Len, 2); //TLV's Length FIntIP := GetLInt(Pkt, 4); //Internal IP FIntPort := GetInt(Pkt, 4); //Internal port FConnFlag := GetInt(Pkt, 1); //Connection flag FProtoVer := GetInt(Pkt, 2); //Protocol version FDconCookie := GetLInt(Pkt, 4); //Direct connection cookie //*eraser 10.03.04 Inc(Pkt^.Len, 8); //Skip unknown data ICQVersion := GetInt(Pkt, 4); //time(NULL), ff ff ff ff - Miranda MirandaVersion := GetInt(Pkt, 4); //time(NULL), version information Inc(Pkt^.Len, 6); //Skip remaining data end;
Delphi-Quellcode:
Aus IRGENDEINEM Grund ist FIntPort aber 0 und die IP Adressen alle 0.0.0.0....
FDirect.AddUser(StrToInt64(UIN), FDConCookie, FExtIP, FIntIP, FIntPort);
Habe herausgefunden das diese Daten nachher gebraucht werden beim Filetransfer.. klar das man sich mit den Daten nirgendwohin verbinden kann...... Es wäre echt nett wenn mir jemand helfen würde. Das ist echt wichtig :X Gruß Neutral General |
Re: TICQClient - Filetransfer
Also ich glaube, das ICQ grundsätzlich alle File-Transfers von allen Nicht-ICQ-Clients blockt.
|
Re: TICQClient - Filetransfer
Zitat:
|
Re: TICQClient - Filetransfer
Mit Trillian nicht. *kratz*
Und zwar bei niemandem, den ich kenne. |
Re: TICQClient - Filetransfer
Zitat:
Mit der TICQClient-Komponente würde ich mich aber nicht länger abplagen. Die ist doch heillos veraltet :? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz