Hey Leute,
so, vielen Dank für die Tipps und Beispiele. Hab es jetzt mit eurer Hilfe fertigstellen können - es funktioniert einwandfrei Danke dafür!
Mfg, TaPS
Hey Leute,
so, vielen Dank für die Tipps und Beispiele. Hab es jetzt mit eurer Hilfe fertigstellen können - es funktioniert einwandfrei Danke dafür!
Mfg, TaPS
Yo, danke für den hinweis. Ich hätte die Code-Zeile schon verwendet wenn ich sie gefunden hätte
Also, das Problem hat sich fast gelöst, letztendlich lag es an Einstellungen in Windows.
Aber nun hab ich ein weiteres Problem, liegt warscheinlich am Code. Könnte einer kurz drüber schauen und mir sagen woran das liegt? Wäre super!
Server:
#include <INet.au3>
HotKeySet("0","_ex")
$sip="127.0.0.1"
$spt=80
TCPStartup()
$ssocket=TCPListen($sip,$spt)
If @error Then
MsgBox(0,0,"ERROR AHA")
EndIf
Func _ex()
TCPShutdown()
Exit
EndFunc
While 1
$recv=TCPRecv($ssocket, 100)
If $recv="abcd" Then
MsgBox(0,0,"Angekommen")
EndIf
WEnd
Alles anzeigen
Client:
#include <INet.au3>
TCPStartup()
$ip="127.0.0.1"
$pt="80"$hd="abcd"
$socket=TCPConnect($ip,$pt)
If @error Then
MsgBox(0,0,"ERROR")
EndIf
TCPSend($socket,$hd)
Sleep(1000)
TCPCloseSocket($socket)
TCPShutdown()
Alles anzeigen
Das Ziel ist, das der Client die Nachricht "abcd" abschickt und der Server sie bekommt und dann "Angekommen" als TextBox ausgiebt. Ich weis grad nicht wo der Fehler liegt, aber der Server gibt aufjedenfall keine TextBox aus.
Mfg TaPS
Hey alle zusammen,
ich habe Probleme mit den TCP/UDP Funktionen in Autoit. Mein Ziel ist Recht simpel: Einen Server und einen Client via TCP zu erstellen. Sollte ja auch keine Schwierigkeit sein, allerdings scheitere ich immer noch am Socket erstellen. Mein Beispielcode sieht grade so aus:
#RequireAdmin
TCPStartup()$ip="127.0.0.1"$pt="80"$hd="hallo welt"$socket=TCPConnect($ip,$pt)If @error Then MsgBox(0,0,"ERROR")EndIf
TCPSend($socket,$hd)Sleep(1000)TCPCloseSocket($socket)TCPShutdown()
Wenn ich das Programm jetzt starte krieg ich nur "ERROR" raus in der MsgBox.
Laut allen Tutorial die ich bisher gefunden habe, müsste das funktionieren. Ich habe schon viele verscheidene IP's und port's verwendet. Mein Router ist so konfiguriert das die verlangten Port's freigegeben sind. Meine Firewall ist deaktiviert.
Also ich nutze Windows 10 und AutoIT 3 - Wenn mir jemand helfen kann wäre das echt nett Weis nicht woran es liegt
PS:( Mit UDP das selbe Spiel )
Mfg, TaPS
Okay, ich habe herausgefunden das es wohl an einer DLL liegt die beschädigt ist, da ein Dienst nicht richtig geladen wurde (Loadlibary) Die Frage ist jetzt nur welche DLL? O.o
Also die Ports sind in meinem Router geöffnet. Da hab ich schon ein paar Sachen ausprobiert. Es geht aber trotzdem nicht. Undmein Router hat nicht wirklich eine Firewall die ich ausstellen könnte. Die Option gibts da nicht, oder eine Ähnliche.
Außerdem funktioniert der Ablauf nicht so wirklich wie da beschrieben. Das Problem ist ja das ich keine Socket erstellen kann. Immer wenn das Programm Socket einen erstellen soll, schlägt es fehl. Ich versende also gar kein Package
LG TaPS
Hallo wieder,
nene, der Port ist schon aus nem Beisspielskript, das erste Skript das ich entwickelt hatte hat nicht funktioniert, da dachte ich es ist vielleicht mein Fehler gewesen...
Also das mein Router die Ports blockiert bezweifel ich, ich meine diverse Online-Spiele funktionieren auch ohne das ich die Ports freisetzten muss o.ä.
Ich bin echt ratlos, könnte es sein das die Funktionen auf meinem System einfach nicht funktionieren?
LG TaPS
EDIT: Ja klar hab ich schon Server an Client probiert, aber ich kann ja keine Pakete versenden, liegt nicht am Server oder so
Hallo liebe Autoit Community,
Ich wende mich an euch, da ich mittlerweile wirklich Ratlos bin. Ich wollte ein wenig in Autoit mit den TCP/UDP-Funktionen herumspielen, aber irgendwie verweigert es mir einen Socket zu erstellen.
Mein Plan war einen kleinen Server und einen Clienten zu schreiben, die dann mittels TCP kommunizieren können. Hab ich auch gemacht, zumindest das Client Programm:
TCPStartup() ; TCP wird initialisiert
$socket = TCPConnect("127.0.0.1", 4321) ; Versucht eine Verbindung zum Server aufzubauen und speichert die SocketID in "$socket" ab
If $socket = -1 Then ; Wenn $socket = -1 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
EndIf
$sendedBytes = TCPSend($socket, "Hi. Dieser Text wurde vom Client gesendet :)") ; Sendet den Text an unseren verbundenen Socket
If $sendedBytes = 0 Then ; Wenn der Rückgabewert von TCPSend(...) 0 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
EndIf
TCPCloseSocket($socket)
TCPShutdown()
Alles anzeigen
Wie man sehen kann sind MSGboxen eingebaut, falls TCPConnect() '-1' oder TCPSend() '0' liefern sollte. Ich bekomme jedes Mal diese MSGboxen zu sehen wenn ich das Skript starte. Anscheinend kann ich keinen Socket erstellen. Egal mit welcher IP und welchen Port ich es versuche, es funktioniert nicht. Mit UDP genau das selbe.
Ich überwache mit Wireshark immer den Port 4321 und schaue ob sich da was tut, aber Wireshark sagt auch das da kein Paket durchkommt.
Das gruselige ist jetzt nur, Weder meine Firewall ist Aktiv oder blockiert etwas, noch ein anderes Programm. Ich habe mit dem Programm GMER wirklich jeden Hintergrundprozess geschlossen der unnötig war. Immer noch nichts. Netzwerktreiber sind auch auf dem neusten Stand und der Port 4321 is sowohl extern als intern zu Weiterleitung freigegeben.
Liegt es einfach an meinem PC Set up, oder warum funktioniert es nicht bei mir?
Würde mich sehr über eine Rückmeldung freuen, weil ich verzweifel so langsam
LG TaPS
Yeaaah, das ist super, vielen Dank, damit lässt sich arbeiten
LG TaPS
Hey Leute,
Oscar : Verzeihung, aber ich kenn mich dann halt doch nicht so gut aus und wusste nicht das es relevant ist das HTML-Dokument als Anhang mit zu geben, da ich nicht wusste das der Befehl bei dem Dokument nicht funktioniert. Auserdem sei doch nicht gleich so energisch, ich meine das Forum ist doch dafür da um Leuten zu helfen die sich nicht gut auskennen und nicht um sie deswegen anzumeckern.(Verzeihung wenn das doch irgendwo in den Richtlinien steht, weil die habe ich nicht gelesen)
@Alle:
Hier der Link zu dem Dokument:
https://www.dropbox.com/s/yd6j1ytora0d…omuhr.html?dl=0
Wer was hat bitte melden Und schonmal Danke für die restlichen Meldungen, das mit der Syntax hab ich jetzt verstanden.
LG TaPS
Okay, vielen Dank Oscar, das funktioniert soweit schon einmal!
Zumindest in dem Beispiel, das Problem ist nun aber, das ich ein komplettes HTML Dokument in einer Variable abgespeichert habe und ich die Uhruzeit suche, das funktioniert mit der Funktion irgendwie nicht, könnte das an den Zeilenumbrüchen liegen? O.o
Und könntest du, oder wer anders, vielleicht noch die Syntax davon erklären? Also von der Zeile:
[autoit]StringRegExpReplace($String, '.+(\d{2}\:\d{2}\:\d{2}).+', '$1')
[/autoit]Wäre echt toll!
LG TaPS
Hallo alle zusammen,
ich habe ehrlich gesagt Probleme mit der RegExp function, ich krieg das alles einfach nicht hin Und es gibt sooo viele Parameter und Flags.
mein Ziel ist es, von einem String in einer Variable, eine Uhrzeit zu suchen welche ich dann in einer anderen Variable abspeichere.
Also um das zu verdeutlichen ein Beispiel:
[autoit][/autoit][autoit][/autoit][autoit]$String="Blaaaaaaaaböa sdfdsfg <jsjdh> 12:23:43 sdfkm omsdopfkl" ;Das hier ist der String mit der Uhrzeit
[/autoit][autoit][/autoit][autoit]$Uhzeit ;Und in der Variable will ich jetzt die 12:23:43 reinkriegen
[/autoit][autoit][/autoit][autoit][/autoit]Wär cool wenn mir jemand eine Mustervorlage für eine RegExp oder eine andere Funktion senden kann
LG TaPS
Oh okay, das mit dem Stat auf Disabled setzen hab ich gar nicht wargenommen, mein Fehler funktioniert einwandfrei, vielen Dank an euch beide!
LG TaPS
Alles klar, Also hier ist die besagte Datei mit Bild:
https://www.dropbox.com/s/e51zio0tcj02zpt/Hilfeee.rar?dl=0
Der Code ist jetzt der selbe wie der den ich oben gepostet habe.
EDIT: Mir ist ein eventueller Lösungsweg eingefallen, soweit es möglich ist das umzusetzen. Wenn es einen Befehl gibt mit welchem man ein Label in den Vordergrund, oder einfach eine Ebene höher, setzen kann, dann kann man das ja so lassen und dann einfach alle Inpuzeilen und Buttons nach vorne setzen?
LG TaPS
Hey,
Ja, dessen bin ich mir bewusst, allerdings hat das nicht funktioniert. Das Problem dabei war das ich dann keine Buttons und Textzeilen mehr anklicken, der focus lag immer in der Ersten Input-Zeile.
LG TaPS
Hey alle zusammen,
Ich bin dabei ein kleines Programm zu schreiben, allerdings hab ich jetzt schon sehr schnell ein Problem D
Die Gui ist mit Koda erstellt und das Problem hängt sicherlich mit dem Bild zusammen.
Also wenn ich das Programm starte, dann öffnet sich die GUi ganz normal, doch ich seh keine Textzeilen und Buttons. Erst wenn ich mit dem Cursor drüber gehe erscheinen sie auf einmal. Labels werden zum Beispiel auch gar nicht angezeigt, trotz drüber gehen mit dem Cursor.
Hier ist mal der Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\groudon\Desktop\Der_Counter.kxf
$Der_Counter = GUICreate("Der_Counter", 670, 438, 192, 124)
$size_yy = GUICtrlCreateInput("80", 112, 208, 121, 21)
$size_xx = GUICtrlCreateInput("150", 112, 184, 121, 21)
$Zeit = GUICtrlCreateInput("1200", 432, 184, 121, 21)
$Button1 = GUICtrlCreateButton("Starte den Counter!", 280, 184, 123, 41)
$Breite = GUICtrlCreateLabel("Counter Größe Breite", 8, 184, 103, 17)
$Hohe = GUICtrlCreateLabel("Counter Größe Höhe", 8, 208, 102, 17)
$Zeitding = GUICtrlCreateLabel("Counter Zeit", 552, 184, 62, 17)
$Pic1 = GUICtrlCreatePic("back.jpg", 0, 0, 668, 436)
GUISetState(@SW_SHOW)
GUISetState(@SW_ENABLE, $Button1)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $size_yy
Case $Breite
Case $Button1
MsgBox(0,"","yooo")
EndSwitch
WEnd
Also wer ne Idee hat - bitte schnell melden, will das Programm heut noch fertig bekommen Danke mal schon so im Voraus!
LG TaPS
Vorweg: Einen Thread über das Thema gibt es bereits schon, allerdings war er zu alt und ich durfte keine neue Antwort geben. Also werde ich einfach in diesem Thread daran anschließen. Hier gehts zu dem Thread:
[ offen ] Netzwerkadapter deaktivieren
Also ich möchte auch in mein Skript eine Funktion dafür einbauen, allerdings klappt das mit WMI bei mir nicht. Der Code wird ausgeführt, aber SciTE meldet keinen Error. Per CMD möchte ich es nicht machen da es zu Zeitaufwenig und nicht gerade ansehnlich ist!
Bei Ideen bitte melden.
LG TaPS
alpines: Verzeihung ja, ich hatte vergessen auch die Datei anzugeben :p aber die Datei heist auch "test.rar"
AspirinJunkie: Da hab ich anscheinend eine Wissenslücke - wie kann ich denn @error abfragen? Und kann mir @error überhaupt informationen liefern? Weil einen Error-Code bekomme ich ja nicht, das Skript lädt ja die Datei runter, allerdings halt nur 32,7kb von 377,4kb.
Das mit InetRead() probiere ich mal,könnte vielleicht klappen.
LG TaPS
Local $dat = InetGet ("ftp://taps:bla@ftp.dateien.de/Data","test.rar")
Das hier wäre jetzt die Zeile mit welcher ich downladen möchte.
Grade habe ich den Option Flag mal auf 1 gesetzt, hat aber auch nichts gebracht.
Und Zugriff auf den Server müsste ich schon haben.
LG TaPS
Schönen Guten Tag,
ich versuche via AutoIT ein Downloader für meinen ftp-Server zu erstellen, allerdings scheitert es bei mir bei der Funktion InetGet(), da sie DAteien nicht vollständig herunterlädt. Ich habe das öfters schon getestet, doch die Funktion lädt immer nur 8 - 40kb herunter und beendet den Vorgang dann.
Irgendwelche Idden wo der Fehler liegen könnte?
LG TaPS
Alles klar, danke dir!
LG TaPS