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