Isolier den Server mal und lad ihn hier hoch, außerdem brauchst du die Funktion "Call" nicht. Ruf die Funktion doch einfach direkt auf mit () dahinter.
Bei kurzen Keywords taucht das auch praktisch gar nicht auf, aber sobalds länger wird ist sowas Pflicht.
Beiträge von alpines
-
-
Ganz einfach:
AutoItWhile <Server-Schleife> Local $sReceived = "" Do $sReceived &= TCPRecv($hClientSocket) Until StringInStr($sReceived, "keyword") WEndDu kannst entweder an das Ende jedes Paketes ein String hängen der anzeigt das das Paket vollständig übermittelt ist oder du wartest so lange bis es angekommen ist.
Wenn du nur in die $sReceived Variable schreibst(überschreibst) dann kann es sein das ein Teil des keywords das ankommen soll verschluckt wird.So kommt nicht "keyword" an, sondern "key" und bei der nächsten Schleifeniteration (bei deiner Variante) "word" und dann hast du als Nachricht nur "word" bekommen aber nicht "keyword".
Eventuell kannst du so deine TCP Daten senden: $ echo "start" > /dev/tcp/192.168.2.5/80
-
$msg ist eine globale Variable und die befindet sich doch immer in der while Schleife.
Lies nochmal was ich geschrieben hab.
-
Du solltest beim TCPRecv unbedingt die Nachrichten in einer Schleife empfangen und abspeichern, es kann sein das "sta" gesendet wird und dann durch "rt" überschribene wird - nur mal so am Rande.
-
Regen, wie im Screenshot zu sehen. Oder hast du mal ein Referenzbild.
Regen? Das kriegt man doch besser hin.
-
Wenn du UDFs importierst dann brauchst du bei nicht Standard-Include-Verzeichnissen keinen absoluten Pfad anzugeben. #include "A2D.au3" tuts auch.
Aber das Spiel läuft bei mir nicht so gut wie bei dir im Video komischerweise, und ich kriege ein Raster von schwarzen Punkten angezeigt. -
Ich denke das liegt weniger am mangelnden Interpreter, als an der Tatsache dass du 0 Optimierung durch AutoIt betreiben kannst, die nicht in "pre-compiled" Code enden würde.
Dafür ist es schließlich auch nicht ausgelegt, aber ich bin mir sicher das dennoch ein signifikanter Geschwindigkeitsschub erreicht werden kann wenn man mal den Interpreter ordentlich überarbeiten würde.
Der ist in den letzten Versionen nur größer und größer geworden aber leistungstechnisch hat sich nichts verändert. -
-
Nichtsdestotrotz ist das Verhältnis "Anzahl der Partikel" 25:1 und trotzdem liegt AutoIt weit hinten!
Selbst bei 100.000 Pixel sinkt die FPS nur auf 48 FPS!
Das hat man davon das die AutoIt-Entwickler neue Features hinzufügen und keinen effizienten Code produzieren. 25:1 ist schon ziemlich krass.
-
-
Wow!! Der Unterschied ist ja mal extrem!
Ich vermute mal gaanz vage und vorsichtig das es daran liegen könnte das AutoIt3 interpretiert und nicht compiliert wird.
-
-
-
Somit kann ich die beiden Werte des E-Mail-Delays (6,67 aus der Vorgängerdurchlauf meines Checks und 5 aus dem gerade laufendem Check) nicht addieren.
Wieso denn nicht? Du nimmst eine Variable wo du den Mittelwert speicherst und rechnest immer:
-
Schau doch mal ob es nicht vielleicht eine PDF-UDF gibt mit der du Einträge vornehmen kannst, eventuell ist das einfacher als jetzt einen Wrapper selber dafür zu schreiben.
-
1. Sollte ich meinen _StringBetween auf den ersten Teil meiner Aufgabe beziehen, müsste ich ja noch den ERROR-Fall berücksichtigen. Da wäre doch die beste Variante eine IF-Schleife inkl. ElseIf, richtig?
Zuerst solltest du dir den Begriff "If-Schleife" abgewöhnen, das ist eine If-Verzweigung! Zum anderen ja - solltest du die ERROR-Fälle berücksichtigen wollen mach da eine If-Verzweigung, da kannst du ganz profan mit If StringInStr($sErgebnis, "ERROR") Then rangehen.
2. $sRes in der Variante von @autoBert wird in der MsgBox als Zahl wiedergegeben aber speichert nicht die Variable $sRes als Zahl, oder?
(Im weiteren Verlauf möchte ich nämlich den Durchschnitt aus dem Delay des Vorgängercheck und dem Nachfolger, also dem aktuell angestoßenem Check ermitteln.)Das verstehe ich nicht ganz, das müsstest du genauer erläutern.
@autoBert Die Bezeichnung $sRes ist falsch, da du ein Array hast und keinen String, treffender wäre $aRes oder $as_Res gewesen.
-
Herzlich Willkommen im Forum!

-
Manche Soundkarten können das. Ich glaub, das hieß meistens "What you hear" oder "wavemix". Damit konnte man aufnehmen, was über die Lautsprecher rauskam.
Wenn nicht, dann braucht man einen virtuellen Audiotreiber der das dann übernimmt.
Ich arbeite tatsächlich grad an sowas - wird aber noch einige Zeit dauern bis das fertig ist.
Weiters beschränke ich die erste Version auf CD-Standard (44100Hz 16Bit Stereo)Für den Fall, dass man nur mit AutoIt eine Wav-Datei virtuell abspielen und an ein anderes Programm weiterleiten will, wäre das Vorhaben sogar noch einfacher, weil der Treiber nur die "Eingangs-Seite" darstellen muss...
Dies werd ich zumindest als erstes mal umsetzen.Du meinst eher "StereoMix" (zumindest in Windows heißt das immer so). Finde ich super das du einen virtuellen Audiotreiber schreibst, Programme wie Virtual Audio Cable spielen ja immer Werbe-Samples darüber ab.
-
ja hinter den Kulissen eben.... Versteht man aber genau deswegen einfacher
Peter
Du vernachlässigst die Tatsache das der Output der Email-Datei komplett anders aussehen kann. Was ist wenn der Check failed und da kein OK steht?
-
Hi,
wieso ein RegEx, dass der User sowieso nicht nachvollziehen kann?Aber _StringBetween verwenden was hinter den Kulissen Regex nutzt

Bin halt so an RegEx gewöhnt das ich lieber gleich ein Pattern nehme statt StringBetween zu nehmen da bei StringBetween es ja sein kann, das da z.B. nicht OK steht und das müsste man ja handlen. -
AutoIt
Alles anzeigen$oUsername = _IEGetObjById($oIE, "id_des_usernames_hier_einfügen") $oPassword = _IEGetObjById($oIE, "id_des_passwords_hier_einfügen") $oSubmit = _IEGetObjById($oIE, "id_des_buttons_hier_einfügen") _IEFormElementSetValue($oUsername, "user") _IEFormElementSetValue($oPassword, "pass") _IEAction($oSubmit, "click") Sleep(250) _IELoadWait($oIE)Die IDs stehen in den HTML-Tags im Quellcode.
-
Nimm stattdessen die Ids und die Names der Elemente, damit kannst du direkt zugreifen und musst keine Forms suchen.
-