Hi Leute,
irgendwie hab ich das immer noch nicht raus... der Code lässt sich zwar kompilieren, aber die Antwort
die ich auf mein TCPSend bekomme ist falsch..
vielleicht kann mal einer von euch drüber schauen und mir da einen Tipp geben,
was ich (wieder) falsch gemacht hab.
im Anhang seht ihr die Variablen u. welche Werte sie angenommen haben..
unter Result_Data sieht man, das ist die Antwort auf ein anderes TCPSend...
Gruß Martin
irgendwie hab ich das immer noch nicht raus... der Code lässt sich zwar kompilieren, aber die Antwort
die ich auf mein TCPSend bekomme ist falsch..
vielleicht kann mal einer von euch drüber schauen und mir da einen Tipp geben,
was ich (wieder) falsch gemacht hab.
Code:
:begin FBARL(Name,Dataset,FritzBoxIP)
:info $FBARL-Makro$ \\
$Name des Macros$ \\
$Datensatznummer $ \\
$IP-Adresse der FritzBox$ \\
:shortinfo $FBARL - Fritzbox Anrufliste$
// Allgemeine Variablen definieren
Name^_Init = after(systemstart() == EIN, 5000u64)
Name^_CRLF = $$
Name^_GET_1 = $$
Name^_String = $$
Name^_TCP_ConnectionState = 6u08
Name^_Result = $$
Name^_Result_Data = $$
Name^_Res_Port=0u16
Name^_Res_IP=0u32
// TCP Message für Abfrage
if Name^_Init == EIN then \\
stringset(Name^_CRLF, 0x0A0Du16, 0u16); \\
Name^_GET_1 = $GET /fritz.box/cgi-bin/webcm?getpage=../html/login_sid.xml$; \\
endif
// TCP Verbindung zum Host aufbauen
if after(Name^_Init, 1000u64) then \\
Name^_TCP_ConnectionState = connecttcp(9090u16,FritzBoxIP) \\
endif
// TCP Nachricht senden
if change(Name^_TCP_ConnectionState) \\
and Name^_TCP_ConnectionState == 0u08 then \\
sendtcparray(9090u16, FritzBoxIP, Name^_String, size(Name^_String)) \\
endif
// jetzt hier noch ggfs. TCP Nachricht empfangen und dann TCP Verbindung schließen
if event(readtcp(Name^_Res_Port,Name^_Res_IP,Name^_Result_Data)) and Name^_Res_IP == FritzBoxIP then {
Name^_Result = Name^_Result_Data;
} endif;
if after(Name^_Init,30000u64) then {
closetcp(9090u16,FritzBoxIP)
} endif
:end
unter Result_Data sieht man, das ist die Antwort auf ein anderes TCPSend...
Gruß Martin





Kommentar