Es gibt neues von der Front
in der Procedure wo auch AddUser aufgerufen wird
procedure TICQClient.HSnac030B(Flap: TFlapHdr; Snac: TSnacHdr; Pkt: PRawPkt);
wird auch vorher dieser Block ausgeführt:
Delphi-Quellcode:
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;
diese Daten werden dann bei AddUser übergeben:
FDirect.AddUser(StrToInt64(UIN), FDConCookie, FExtIP, FIntIP, FIntPort);
Aus IRGENDEINEM Grund ist FIntPort aber 0 und die
IP Adressen alle 0.0.0.0....
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
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."