Komunikation zwischen Server und Client

  • ein freundliches Hallo,

    interessiere mich ob es möglich ist eine "Serial" abfrage zu programmieren, wenn der User seinen Client startet, ich auf meinem Server gezeigt bekomme, Wann und mit Welchem Serial er sich verbunden hat o.a?
    Womit könnte man da arbeiten bzw. welche Befehle anwenden?

    Mfg

  • Sonst kannst du es auch per PHP machen:

    • Der Client lädt eine PHP-Seite (_InetGetSource), die in eine Textdatei was reinschreibt.
    • Der Server prüft immer wieder die Textdatei. (PHP?!)

    Magnus

  • habe das in einem Forum gefunden:

    Server:

    [autoit]

    #include <GUIConstants.au3>
    UDPStartup()
    $bind = UDPBind("127.0.0.1",3050)

    [/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $chat = GUICreate("server", 460, 310, 193, 125)
    GUISetBkColor(0x000000)
    $Input1 = GUICtrlCreateInput("", 56, 232, 233, 50)
    $Label1 = GUICtrlCreateLabel("", 56, 32, 388, 196)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    IF UDPOpen = 1 Then
    ????????????
    ????????????
    ????????????
    Wend

    [/autoit]

    Client:

    [autoit]

    UDPStartUp()
    $open = UDPOPEN ("127.0.0.1",3050)

    #include <GUIConstants.au3>
    $chat = GUICreate("Client", 460, 310, 193, 125)
    GUISetBkColor(0x000000)
    $Input1 = GUICtrlCreateInput("", 56, 232, 233, 50)
    $Label1 = GUICtrlCreateLabel("", 56, 32, 388, 196)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Button1 = GUICtrlCreateButton("Senden", 304, 232, 139, 49, 0)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $text=GUICtrlRead($input1)
    UDPSend($open,$text)
    EndSwitch
    Wend

    [/autoit]

    Irgendwie funktioniert das nicht .. da ich keine Ahnung habe wie UDP funktioniert könntet ihr vielleicht schauen was da nicht stimmt? Ich versteh nicht wie der Server Informationen vom Client empfangen kann usw. Pls Help :)

  • Aloa,

    habe es nun geschafft unter dem Localhost eine Verbindung zu bekommen. Aber das bringt ja nicht viel, der Server bekommt kein Signal, wenn der Client auf einem anderen Computer läuft bzw. nicht unter 127.0.0.1 . Habe den Port freigeschaltet, und Firewire deaktiviert.

    Server:

    Spoiler anzeigen
    [autoit]

    TCPStartup()
    $MainSocket = TCPListen("b******1.no-ip.org","312",100)
    While 1
    $NewSocket = TCPAccept($MainSocket)

    [/autoit] [autoit][/autoit] [autoit]

    If $NewSocket >= 0 Then
    Do
    $Recv = TCPRecv($NewSocket,2048)
    Until $Recv <> ""

    MsgBox(1,"","Empfangen : " & $Recv)

    [/autoit] [autoit][/autoit] [autoit]


    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit]


    Client:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    TCPStartUp()
    #Region ### START Koda GUI section ### Form=
    $GUI = GuiCreate("CLIENT",300,500)
    $Edit = GUICtrlCreateEdit("",0,0,300,200)
    $OK = GUICtrlCreateButton("Senden",100,300,100,30)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Switch $msg

    Case $OK
    $MainSocket = TCPConnect("b******1.no-ip.org","312")

    TCPSend($MainSocket,GUICtrlRead($Edit))

    MsgBox(0,"GESENDET","Die Nachricht wurde gesendet")
    EndSwitch
    WEnd

    [/autoit]

    Ich arbeite mit No-IP, finde es irgendwie besser las mit richtiger IP, flass es daran leigt das es nicht ght würde ich auch mit IP abreiten können. Habe aber beides versucht. Geht nicht.

    Wo liegt der fehler ?? :huh:

    Einmal editiert, zuletzt von HappySource18 (8. Dezember 2009 um 21:14)

  • was genau ist: no-ip.org

    bist du dir sicher das das server-script dort ausgeführt wird?

    sind deine ports 312 sowohl beim server als auch beim client freigeschalten?

    eventuell mal anderen port verwenden


    aber zumindest lokal sollte es ja laufen.

    server lokal:

    Spoiler anzeigen
    [autoit]

    TCPStartup()
    $MainSocket = TCPListen("127.0.0.1", "312", 100)
    While 1
    $NewSocket = TCPAccept($MainSocket)
    If $NewSocket >= 0 Then
    Do
    $Recv = TCPRecv($NewSocket, 2048)
    Until $Recv <> ""
    MsgBox(1, "", "Empfangen : " & $Recv)
    EndIf
    WEnd

    [/autoit]

    client lokal:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    TCPStartUp()
    #Region ### START Koda GUI section ### Form=
    $GUI = GuiCreate("CLIENT",300,500)
    $Edit = GUICtrlCreateEdit("",0,0,300,200)
    $OK = GUICtrlCreateButton("Senden",100,300,100,30)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Switch $msg

    Case $OK
    $MainSocket = TCPConnect("127.0.0.1", "312")

    TCPSend($MainSocket,GUICtrlRead($Edit))

    MsgBox(0,"GESENDET","Die Nachricht wurde gesendet")
    EndSwitch
    WEnd

    [/autoit]
  • Ja, lokal läuft es.

    Ich habe bei meinem Router den Port 6644 freigeschaltet, das sah so aus " 192.168.2.3 : 6644 TCP "
    Habe dann beim Server diese IP (192.168.2.3 ) rein geschrieben, damit er dann dort nach Packeten schaut. Beim Client habe ich meine richtige IP vom Provider eingeben, damit er sich dann connecten kann mit meinem Computer(Server). Bei beiden habe ich den gleichen Port eingetragen.

    und es funktioniert immer noch nicht .. *kotz* Ich habe doch alles richitg gemacht? Liegt es vlt. am Kollegen dessen AntiVir oder sonstiges die Verbindung sperrt?