Hallo,
habe mal wieder ein "Problem" und hoffe auf Hilfe . Mein "Server" tut eigentlich das was er machen soll. Man kann sich verbinden und er nimmt dann die Messages entgegen und wenn ich beende dann macht er das auch brav.
ABER:
Ich denke der Weg den ich gegangen bin mit DO und UNTIL ... bringt mich in eine Sackgasse. Hat sich der CLient einmal verbunden, kann man Aktionen ausführen. Man kann auch den Server beenden und er geht "aus". Verliere ich nun aber die Verbindung, steckt der Server ja in der Schleife bei Select fest. Zusätzlich das Problem: Man kann sich grundsätzlich nur einmal verbinden, für eine neue Verbindung muss der Server neugestartet werden.
Nun habe ich schon probiert wie wild, aber irgendwie nicht den richtigen Weg gefunden. Nehme ich die DO UNTIL Geschichte raus, nimmt er die neuen Messages nicht entgegen, das klappt dann nur noch einmal.
EDIT:
Ich kann natürlich nach TCPShutdown() statt EXIT wieder ein RUN auf die Server.exe machen, das wäre sicher ein Workaround aber keine Lösung
Spoiler anzeigen
;TCP START
TCPStartup()
$Ip = @IPAddress1
$Port = 5900
$Incoming = TCPListen($Ip, $Port)
;------------------
While 1
Do
$Con = TCPAccept($Incoming)
;ist wer da ?
if $con >=0 then SplashTextOn("htXP Server", "Verbindung aufgebaut", 180, 30, 1, 0, 0)
;jau da ist einer !
Until $con > 0
$whatever = 1
;dummy
Do
$msg = TCPRecv($con, 5000)
Select
Case $msg = "aktiv"
run("notepad.exe")
Case $msg = "aus"
ProcessClose("notepad.exe")
Case $msg = "exit"
MsgBox(4096,"","Verbindung wird abgebaut",2)
MsgBox(4096,"","Server wird beendet",2)
SplashOff()
TCPShutdown()
Exit
EndSelect
[/autoit] [autoit][/autoit] [autoit]
Until $whatever <> 1
;dummy
WEnd
;aus die maus
Edit GtaSpider: [17.04.2008 15:36]
Spoiler Tags eingefügt
Aufruf: