Heyho liebe AutoIt Community.
Ich sitze jetzt 3 Stunden an dieser Funktion für mein Programm und ich komme einfach nicht weiter.
Es handelt sich um eine einfache TCP Send Funktion, wenn man mein Programm startet, wird das Paket "Login" an meinen Root Server
gesendet, die Server.exe die dort läuft schreibt das dann in die Console und in eine Log.txt.
Wenn ich das Programm auf dem Root ausführe und es auf 127.0.0.1 verbinden lasse funktioniert es einwandfrei, das selbe auch wenn ich es
local auf meinem PC benutze.
Wenn ich nun aber auf meinem PC mein Programm starte, merkt man dass es zum Server verbinden kann.
Habe getestet, wenn ich starte und Server.exe ist aus dann brauch mein Programm über 10sek zum starten, wenn es an ist braucht mein Programm eine Sekunde zum starten, also muss die Verbindung ja eigentlich erfolgreich aufgebaut worden sein.
Jedoch schreibt der Server den Login nicht in die Konsole -.-.
Ich hab jetzt schon tausenmal rumprobiert , root firewall aus, meinen firewall aus, beide firewall aus, local bei mir - geht, local aufm root - geht.
Ich finde einfach nicht den Fehler
Hoffe mir kann jemand helfen, hier die Scripts:
Hier das Script für den Client.
[autoit]
$EnTCP = IniRead(@ScriptDir & "\Manager.ini", "Settings", "TCP", "")
If $EnTCP = 1 Then
TCPStartup()
$Ip = "178.63.84.77"
$Port = "3604"
$OwnIP = _GetIP()
$socket = TCPConnect ($ip, $port)
$socket = TCPConnect ($ip, $port)
TCPSend ($Socket,"Login|"&$OwnIP)
endif
Und hier das Script für den Server
[autoit]
#include <console_plus.au3>
#include <Inet.au3>
TCPStartup()
[/autoit][autoit][/autoit][autoit]$Ip = IniRead ("Config.ini", "Connection", "IP", "" )
$Port = IniRead ("Config.ini", "Connection", "Port", "" )
$MaxCon = IniRead ("Config.ini", "Connection", "MaxCon", "" )
$MaxByte = IniRead ("Config.ini", "Connection", "MaxByte", "" )
$MainSocket = TCPListen ($ip, $port, $maxcon)
[/autoit][autoit][/autoit][autoit]If $MainSocket = -1 Then
MsgBox (16, "Error", "Es ist ein Fehler aufgetreten.")
EndIf
While 1
$ConnectedSocket = TCPAccept ($MainSocket)
If $ConnectedSocket >= 0 Then
$Recv = TCPRecv ($ConnectedSocket, $maxbyte)
$split = StringSplit ($Recv, "|")
If $split[0] > 0 and $split[0] = 2 Then
If $split[1] = "LOGIN" then
_IN_WRITE($split[2])
_IN_LOG($split[2])
endif
EndIf
endif
wend
Func _IN_WRITE($IpAdresse)
$time = "["&@MDAY&"."&@MON&"."&@YEAR&", "&@HOUR&":"&@MIN&"]"
_ConsoleSetColor($_CONSOLE_WHITE, $_CONSOLE_BLACK)
ConsoleWrite(@CRLF&$time)
_ConsoleSetColor($_CONSOLE_GREEN, $_CONSOLE_BLACK)
ConsoleWrite(" [LOGIN ] ")
_ConsoleSetColor($_CONSOLE_WHITE, $_CONSOLE_BLACK)
ConsoleWrite("| ")
ConsoleWrite($IpAdresse)
EndFunc
Func _IN_LOG($IpAdresse)
$time = "["&@MDAY&"."&@MON&"."&@YEAR&", "&@HOUR&":"&@MIN&"]"
FileWrite("Log.txt",@CRLF&$time&" [LOGIN ] | "&$IpAdresse)
EndFunc