1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. diablisch

Beiträge von diablisch

  • Server/Client option

    • diablisch
    • 25. September 2016 um 15:58

    Guten Tag.


    So, ich habe mir überlegt wie ich das haben möchte:
    Dazu lade ich erst mal als anhang den das alte lokale Programm das auf dem Server lief hoch! Das Programm war Fertig!

    Lokal Server alt --> Lief ohne Probleme lokal auf dem Server. So wollte ich das auf dem Client haben.


    Server --> ist die Datei auf dem Server /macht eine Console und nimmt die eingaben vom client entgegen:
    Client --> ist die andere Datei die auf dem Client ist / Mit dieser sollen die eingaben an den Server gesendet werden. Das Senden und das annehmen funktionieren bereits!

    Das eigenliche Problem liegt daran, dass der Server die Statusmeldung nicht an den Client schickt! Das sind z.B. die zwei icons online und offline. Lokal funktioniert es ja...

    Dazu habe ich noch ein Bild zur Veranschaulichung.

    Ich hoffe die Infos reichen für die Hilfe

    Dateien

    Autoit.de.rar 43,51 kB – 203 Downloads Server maske lokal.bmp 2,4 MB – 225 Downloads
  • Server/Client option

    • diablisch
    • 21. September 2016 um 17:45

    Ich wenn das ganze nur verstehen würde! Dann würde ich mich auch leichter tun!

  • Server/Client option

    • diablisch
    • 19. September 2016 um 16:41

    Soweit bin ich mit dem server und dem client fertig! Musste lange überlegen wie das funktionieren soll!

    Und somit habe ich das nächste problem! Wenn ich vom client den Button drücke, startet er mir eine Batch datei die wiederum das Programm startet. Soweit so gut!
    Welchen code muss ich verwenden, dass mir der Server eine Antwort auf dem client schickt, dass dieses programm online ist!

    Vorher hatte ich das script auf dem Server und er hat mir das auch gesagt, dass das programm online ist!

    Code lautete so:

    Func checkOnlineStatus()
    checkIfServerOnline("Toms Server 1", $icon1)
    checkIfServerOnline("Toms Server 2", $icon2)
    checkIfServerOnline("Toms Server 3", $icon3)
    checkIfServerOnline("Toms Server 4", $icon4)
    checkIfServerOnline("Toms Server 5", $icon5)
    checkIfServerOnline("Toms Server 6", $icon6)


    EndFunc

    Wie bringe ich den server dazu, dass er das an den Client meldet?

    Vielen Dank

  • Server/Client option

    • diablisch
    • 18. September 2016 um 17:56

    Hier das client script

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <String.au3>
    #include <GuiStatusBar.au3>


    Dim $VerbindeTCP = -1
    Const $MultiServerIP = "192.168.178.43"
    Const $MultiServerPortTCP = "33150"
    Local $send


    TCPStartup()


    $onIcon = @ScriptDir & "\icons\Online.jpg"
    $officon = @ScriptDir & "\icons\Offline.jpg"


    $server1Path = @ScriptDir & "Server 1\css\start.bat"
    $server1WorkDir = @ScriptDir & "Server 1\css\"
    $server2Path = @ScriptDir & "Server 2\css\start.bat"
    $server2WorkDir = @ScriptDir & "Server 2\css\"
    $server3Path = @ScriptDir & "Server 3\css\start.bat"
    $server3WorkDir = @ScriptDir & "Server 3\css\"
    $server4Path = @ScriptDir & "Server 4\css\start.bat"
    $server4WorkDir = @ScriptDir & "Server 4\css\"
    $server5Path = @ScriptDir & "Server 5\css\start.bat"
    $server5WorkDir = @ScriptDir & "Server 5\css\"
    $server6Path = @ScriptDir & "Server 6\css\start.bat"
    $server6WorkDir = @ScriptDir & "Server 6\css\"


    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("CS-S Server Control Panel", 360, 600, 283, 249)
    $server1 = GUICtrlCreateButton("Starte/Stoppe Server 1", 32, 45, 155, 25)
    $server2 = GUICtrlCreateButton("Starte/Stoppe Server 2", 32, 75, 155, 25)
    $server3 = GUICtrlCreateButton("Starte/Stoppe Server 3", 32, 105, 155, 25)
    $server4 = GUICtrlCreateButton("Starte/Stoppe Server 4", 32, 135, 155, 25)
    $server5 = GUICtrlCreateButton("Starte/Stoppe Server 5", 32, 165, 155, 25)
    $server6 = GUICtrlCreateButton("Starte/Stoppe Server 6", 32, 195, 155, 25)


    $all = GUICtrlCreateButton("Alle Starten/Stoppen", 32, 245, 155, 25)


    $ram = GUICtrlCreateButton("Ram Auslastung", 32, 300, 155, 25)


    $wakeup = GUICtrlCreateButton("Rechner Starten", 32, 335, 155, 25)


    $icon1 = GUICtrlCreatePic("", 208, 45, 100, 25)
    $icon2 = GUICtrlCreatePic("", 208, 75, 100, 25)
    $icon3 = GUICtrlCreatePic("", 208, 105, 100, 25)
    $icon4 = GUICtrlCreatePic("", 208, 135, 100, 25)
    $icon5 = GUICtrlCreatePic("", 208, 165, 100, 25)
    $icon6 = GUICtrlCreatePic("", 208, 195, 100, 25)


    $leiste = _GUICtrlStatusBar_Create($Form1)
    _GUICtrlStatusBar_SetText($leiste,"TCP gestartet...",0,0)
    GUISetState(@SW_SHOW, $Form1)
    #EndRegion ### END Koda GUI section ###


    While 1
    connection()
    checkOnlineStatus()
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    TCPShutdown()
    Exit
    Case $server1
    ;startServer($server1Path, $server1WorkDir)
    SendToServer("startServer1")
    Case $server2
    ;startServer($server2Path, $server2WorkDir)
    SendToServer("startServer2")
    Case $server3
    ;startServer($server3Path, $server3WorkDir)
    SendToServer("startServer3")
    Case $server4
    ;startServer($server4Path, $server4WorkDir)
    SendToServer("startServer4")
    Case $server5
    ;startServer($server5Path, $server5WorkDir)
    SendToServer("startServer5")
    Case $server6
    ;startServer($server6Path, $server6WorkDir)
    SendToServer("startServer6")
    Case $all
    SendToServer("startAll")
    Case $ram
    SendToServer("giveMeRam")
    _RAM()
    Case $wakeup
    wakeup()
    EndSwitch
    WEnd


    Func SendToServer($befehl)
    $send = $befehl
    TCPSend($VerbindeTCP,$send)
    EndFunc


    Func startServer($serverPath, $workDir)
    If( FileExists($serverPath) ) Then
    Run($serverPath, $workDir)
    Else
    MsgBox(0, "Server Path Fehler", $serverPath & " -> wurde nicht gefunden")
    EndIf
    EndFunc


    Func checkOnlineStatus()
    checkIfServerOnline("Toms Server 1", $icon1)
    checkIfServerOnline("Toms Server 2", $icon2)
    checkIfServerOnline("Toms Server 3", $icon3)
    checkIfServerOnline("Toms Server 4", $icon4)
    checkIfServerOnline("Toms Server 5", $icon5)
    checkIfServerOnline("Toms Server 6", $icon6)
    EndFunc


    Func _RAM()


    Local $aMem = MemGetStats()
    Local $aMemTot = $aMem[1] - $aMem[2]
    Local $aGesamt = Round($aMemTot / $aMem[1] * 100)
    $backWert = Round(($aMemTot / 1024) / 1024, 3)
    MsgBox("RAM", "RAM Auslastung", "RAM Auslastung in GB : " & $backWert & @CRLF & @CRLF & "RAM Auslastung in % : " & $aGesamt & "%")


    EndFunc


    Func checkIfServerOnline($title, $iconControl)
    If WinExists ($title, "") Then
    GUICtrlSetImage($iconControl, $onIcon)
    Else
    GUICtrlSetImage($iconControl, $offIcon)
    EndIf
    EndFunc


    Func wakeup()


    Local $sMacAddress = StringReplace("00:00:00:00:00:00", ":", ""), _
    $sIpAddress = "192.168.178.255", _
    $iPort = 9
    $sMagicPacket = "FFFFFFFFFFFF"


    For $i = 1 To 16
    $sMagicPacket &= $sMacAddress
    Next


    $sMagicPacket = _HexToString($sMagicPacket)


    UDPStartup()


    $hServer = UDPOpen($sIpAddress, $iPort)
    UDPSend($hServer, $sMagicPacket)


    UDPCloseSocket($hServer)
    UDPShutdown()
    MsgBox(0, "Wakeup", "Rechner wurde gestartet")


    EndFunc


    Func connection()
    $VerbindeTCP = TCPConnect($MultiServerIP,$MultiServerPortTCP)
    _GUICtrlStatusBar_SetText($leiste,"TCP Verbindung wird aufgebaut...",0,0)
    If TCPRecv($VerbindeTCP,2) = "ok" Then
    _GUICtrlStatusBar_SetText($leiste,"TCP Verbindung hergestellt!",0,0)
    ElseIf @error Then
    _GUICtrlStatusBar_SetText($leiste,"Die TCP Verbindung schlug fehl, weil: "&@error,0,0)
    EndIf

  • Server/Client option

    • diablisch
    • 18. September 2016 um 15:14

    Hallo,

    ich habe für meinen Gameserver ein kleines Programm geschrieben. Lokal auf dem Server läuft das Programm.

    Nun zur eigentlichen Frage.

    Ist es möglich, das Programm von einem anderen PC aus zu bedienen? (Mit dem gleichen script wie auf dem server liegt?

    Für Hilfe bin ich sehr dankbar

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™