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. Kev

Beiträge von Kev

  • Server - Client tcp

    • Kev
    • 17. März 2010 um 08:38

    wenn de mir sagst wie ;) ?(

  • Server - Client tcp

    • Kev
    • 17. März 2010 um 08:32

    fast :D

    jetz macht ers so:

    Spoiler anzeigen

    [Blockierte Grafik: http://www9.picfront.org/token/7tZI/2010/03/17/1787490.png]

    ^^

    bzw kann ich net iwie sagen
    . 1 IP:
    . 2 IP:
    . 3 IP:

    und da die die daten alle 30 minuten kommen soller den alten eintrag in der txt mit dem neuen löschen^^
    aber nur mit der dazugehörenden ip.

    also wenn das ding auf 20 rechner kommt, und jeder ne andere ip hat. soller den alten eintrag mit der ip in der txt mit dem neuen austauschen :o
    geht das? if yes then wie?

  • Server - Client tcp

    • Kev
    • 16. März 2010 um 15:40
    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    ;==============================================
    ;==============================================
    ; SERVER!! Startet mich zuerst !!!!!!!!!!!!!!!
    ;==============================================
    ;==============================================
    dircreate("C:\Message\")

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

    global $open

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

    Example()

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

    Func Example()
    ; Richte einige wiederverwendbare Informationen ein.
    ; Richte deine öffentliche IP Adresse (@IPAddress1) hier ein.
    ; Local $szServerPC = @ComputerName
    ; Local $szIPADDRESS = TCPNameToIP($szServerPC)
    Local $szIPADDRESS = @IPAddress1
    Local $nPORT = 33891
    Local $MainSocket, $GOOEY, $edit, $ConnectedSocket, $szIP_Accepted
    Local $msg, $recv

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

    ; Startet den TCP Service
    ;==============================================
    TCPStartup()

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

    ; Erstellt einen lauschenden Port.
    ; Benutzt deine IP Adresse und den Port 33891. (Oben angegeben)
    ;==============================================
    $MainSocket = TCPListen($szIPADDRESS, $nPORT)

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

    ; Wenn die Socketerstellung fehl schlägt, dann wird das Programm beendet.
    If $MainSocket = -1 Then Exit

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

    ; Erstellt eine GUI für Messages.
    ;==============================================
    $GOOEY = GUICreate("Message - Server IP: " & $szIPADDRESS, 550, 200)
    $edit = GUICtrlCreateEdit("", 10, 10, 300, 180)
    GUISetState()

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

    ; Initialisiert eine Variable um eine Verbindung anzugeben
    ;==============================================
    $ConnectedSocket = -1

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

    ; Wartet auf und akzeptiert eine Verbindung
    ;==============================================
    Do
    $ConnectedSocket = TCPAccept($MainSocket)
    Until $ConnectedSocket <> -1

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

    ; Bekommt die IP des verbundenen Clients
    $szIP_Accepted = SocketToIP($ConnectedSocket)

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

    ; GUI Message Schleife
    ;==============================================
    While 1
    $msg = GUIGetMsg()

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

    ; GUI beendet
    ;--------------------
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

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

    ; Versucht Daten zu empfangen, bis zu 2048 bytes
    ;----------------------------------------------------------------
    $recv = TCPRecv($ConnectedSocket, 30000)

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

    ; Aktualisiert das Input-Control mit dem, was wir empfangen haben.
    ;----------------------------------------------------------------
    If $recv <> "" Then GUICtrlSetData($edit, _
    $szIP_Accepted & " > " & $recv & @CRLF & GUICtrlRead($edit))
    Filewrite("C:/Message/recieved.txt",$recv)
    $open = FileOpen ("C:/Message/recieved.txt", 1)
    Filewrite($open, @CrLf & $recv); wenn du in $recv noch keinen zeilenumbruch hast
    FileClose($open)
    WEnd

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

    If $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)

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

    TCPShutdown()
    EndFunc ;==>Example

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

    ; Funktion um die IP Adresse eines verbundenen Sockets wiederzugeben.
    ;----------------------------------------------------------------------
    Func SocketToIP($SHOCKET)
    Local $sockaddr, $aRet

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

    $sockaddr = DllStructCreate("short;ushort;uint;char[8]")

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

    $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
    "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
    If Not @error And $aRet[0] = 0 Then
    $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
    If Not @error Then $aRet = $aRet[0]
    Else
    $aRet = 0
    EndIf

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

    $sockaddr = 0

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

    Return $aRet
    EndFunc ;==>SocketToIP

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

    so hab ichs jetzt.
    er erstellt den text macht 1000 mal enter, schreibst wieda rein und wieda 1000 mal enter ^^
    liegts an der while schleife?! bzw if yes, wiebau ich das dem entsprechend um?

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 16:36

    kay ^^ jetzt hab ich das Problem das der ne leere textdatei hat. die wird zwar größer und größer ^^ aber es steht nix drin :D

    //edit

    doch^^ er machts

    ermacht 1000 mal @crlf
    und dann schreibter das rein
    dann wieda 1000 ma @crlf un weiter^^

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 16:11

    kay und wohin damit?^^

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 15:55

    an was wo wie?
    schnitzel drück dich bitte besser aus :D wo was ranhängen und was bringt des :D

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 15:33

    kaaaay habs, thx schnitzel.

    next thing :D

    das was der server recv. solla in ne text datei spiechern.
    macht er auch, bloß soller nach jedem ding was er kriegt,in ne neue zeile gehen, sprich enter drücken und da dann weiter machen.

    das wenn ich den clienten hier jetz.
    auf 100 rechnern hab.

    den ersten reinschreibt mit: ahh auch gute iddee. genau :D

    PC1: IP/Computername/Time
    PC2:IP/Computername/Time
    unsoweiter...

    immer in ner neuen zeile.

    server quellcode ist:;

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    ;==============================================
    ;==============================================
    ; SERVER!! Startet mich zuerst !!!!!!!!!!!!!!!
    ;==============================================
    ;==============================================
    dircreate("C:\Message\")
    Example()

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

    Func Example()
    ; Richte einige wiederverwendbare Informationen ein.
    ; Richte deine öffentliche IP Adresse (@IPAddress1) hier ein.
    ; Local $szServerPC = @ComputerName
    ; Local $szIPADDRESS = TCPNameToIP($szServerPC)
    Local $szIPADDRESS = @IPAddress1
    Local $nPORT = 33891
    Local $MainSocket, $GOOEY, $edit, $ConnectedSocket, $szIP_Accepted
    Local $msg, $recv

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

    ; Startet den TCP Service
    ;==============================================
    TCPStartup()

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

    ; Erstellt einen lauschenden Port.
    ; Benutzt deine IP Adresse und den Port 33891. (Oben angegeben)
    ;==============================================
    $MainSocket = TCPListen($szIPADDRESS, $nPORT)

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

    ; Wenn die Socketerstellung fehl schlägt, dann wird das Programm beendet.
    If $MainSocket = -1 Then Exit

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

    ; Erstellt eine GUI für Messages.
    ;==============================================
    $GOOEY = GUICreate("Message - Server IP: " & $szIPADDRESS, 550, 200)
    $edit = GUICtrlCreateEdit("", 10, 10, 300, 180)
    GUISetState()

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

    ; Initialisiert eine Variable um eine Verbindung anzugeben
    ;==============================================
    $ConnectedSocket = -1

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

    ; Wartet auf und akzeptiert eine Verbindung
    ;==============================================
    Do
    $ConnectedSocket = TCPAccept($MainSocket)
    Until $ConnectedSocket <> -1

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

    ; Bekommt die IP des verbundenen Clients
    $szIP_Accepted = SocketToIP($ConnectedSocket)

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

    ; GUI Message Schleife
    ;==============================================
    While 1
    $msg = GUIGetMsg()

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

    ; GUI beendet
    ;--------------------
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

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

    ; Versucht Daten zu empfangen, bis zu 2048 bytes
    ;----------------------------------------------------------------
    $recv = TCPRecv($ConnectedSocket, 30000)

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

    ; Aktualisiert das Input-Control mit dem, was wir empfangen haben.
    ;----------------------------------------------------------------
    If $recv <> "" Then GUICtrlSetData($edit, _
    $szIP_Accepted & " > " & $recv & @CRLF & GUICtrlRead($edit))
    Filewrite("C:/Message/recieved.txt",$recv)
    WEnd

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

    If $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)

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

    TCPShutdown()
    EndFunc ;==>Example

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

    ; Funktion um die IP Adresse eines verbundenen Sockets wiederzugeben.
    ;----------------------------------------------------------------------
    Func SocketToIP($SHOCKET)
    Local $sockaddr, $aRet

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

    $sockaddr = DllStructCreate("short;ushort;uint;char[8]")

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

    $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
    "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
    If Not @error And $aRet[0] = 0 Then
    $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
    If Not @error Then $aRet = $aRet[0]
    Else
    $aRet = 0
    EndIf

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

    $sockaddr = 0

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

    Return $aRet
    EndFunc ;==>SocketToIP

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

    wichtige wäre hierbei denne:

    [autoit]

    If $recv <> "" Then GUICtrlSetData($edit, _
    $szIP_Accepted & " > " & $recv & @CRLF & GUICtrlRead($edit))
    Filewrite("C:/Message/recieved.txt",$recv)

    [/autoit]
  • Server - Client tcp

    • Kev
    • 15. März 2010 um 15:23

    das is mir schonklar das ich das tun muss, aber wie ^^ das ist die große frage

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 15:16

    funktioniert danke :)
    ich saß 3h und hab versucht das ding rauszukriegen, da schreibt ma hier einma den error code rein und schon sindse dabei :D

    kurz was anders:

    [autoit]

    $szData = "IP Adresse:" & "" & @IPAddress1 & "" & "Computername: " & "" & @ComputerName & "" & "Zeit des Clienten:" & "" & @HOUR & ":" & @MIN & ":" & @SEC

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

    der macht dazwischen keine leerzeichen^^ der macht alles in eine reihe.

    :(

    solla aber net

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 14:40

    Hab mir jetzt mal ne Messagebox ausgeben lassen mit @Error.
    und tatsächlich ich krieg nen fehler: "10061"

    mehr net..
    Er sendet die IP/Computername/Time

    einmal.

    sobald die zeit wiederum ist, sprich 5 sec , und er senden will, krieg ich den error code.

    [autoit]

    #include <timers.au3>

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

    AutoItSetOption("OnExitFunc", "_quit")

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

    TCPStartup(); wird nur einmal aufgerufen

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

    Global $szIPADDRESS = "192.168.245.128"
    Global $nPORT = 33891

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

    AdlibRegister('_client', 5000); rufe die func _client alle 5 sec auf

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

    While 1
    Sleep(100)
    WEnd

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

    Func _client ()
    Local $ConnectedSocket
    $ConnectedSocket = TCPConnect($szIPADDRESS, $nPORT)
    If @error Then
    msgbox(0,"",@error)
    Else
    $szData = "IP Adresse:" & "" & @IPAddress1 & "" & "Computername: " & "" & @ComputerName & "" & "Zeit des Clienten:" & "" & @HOUR & ":" & @MIN & ":" & @SEC
    TCPSend($ConnectedSocket, $szData)
    EndIf
    EndFunc ;==>_client

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

    Func _quit()
    TCPShutdown()
    EndFunc ;==>_quit

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Leviathan hat Gebrtstag

    • Kev
    • 15. März 2010 um 12:25

    scheiße ich bin zu spät ;(

    Alles Gute nachträglich ! :thumbup:

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 10:35

    bringt mich aber auch nicht weiter ^^ es geht net :D

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 10:12

    hmm same thing.
    bei mir kommt nichts an:
    bzw. halt nur einmal. nach 5 sec.
    server ist :

    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    ;==============================================
    ;==============================================
    ; SERVER!! Startet mich zuerst !!!!!!!!!!!!!!!
    ;==============================================
    ;==============================================
    dircreate("C:\Message\")
    Example()

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

    Func Example()
    ; Richte einige wiederverwendbare Informationen ein.
    ; Richte deine öffentliche IP Adresse (@IPAddress1) hier ein.
    ; Local $szServerPC = @ComputerName
    ; Local $szIPADDRESS = TCPNameToIP($szServerPC)
    Local $szIPADDRESS = @IPAddress1
    Local $nPORT = 33891
    Local $MainSocket, $GOOEY, $edit, $ConnectedSocket, $szIP_Accepted
    Local $msg, $recv

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

    ; Startet den TCP Service
    ;==============================================
    TCPStartup()

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

    ; Erstellt einen lauschenden Port.
    ; Benutzt deine IP Adresse und den Port 33891. (Oben angegeben)
    ;==============================================
    $MainSocket = TCPListen($szIPADDRESS, $nPORT)

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

    ; Wenn die Socketerstellung fehl schlägt, dann wird das Programm beendet.
    If $MainSocket = -1 Then Exit

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

    ; Erstellt eine GUI für Messages.
    ;==============================================
    $GOOEY = GUICreate("Message - Server IP: " & $szIPADDRESS, 450, 200)
    $edit = GUICtrlCreateEdit("", 10, 10, 300, 180)
    GUISetState()

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

    ; Initialisiert eine Variable um eine Verbindung anzugeben
    ;==============================================
    $ConnectedSocket = -1

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

    ; Wartet auf und akzeptiert eine Verbindung
    ;==============================================
    Do
    $ConnectedSocket = TCPAccept($MainSocket)
    Until $ConnectedSocket <> -1

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

    ; Bekommt die IP des verbundenen Clients
    $szIP_Accepted = SocketToIP($ConnectedSocket)

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

    ; GUI Message Schleife
    ;==============================================
    While 1
    $msg = GUIGetMsg()

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

    ; GUI beendet
    ;--------------------
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

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

    ; Versucht Daten zu empfangen, bis zu 2048 bytes
    ;----------------------------------------------------------------
    $recv = TCPRecv($ConnectedSocket, 2048)

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

    ; Aktualisiert das Input-Control mit dem, was wir empfangen haben.
    ;----------------------------------------------------------------
    If $recv <> "" Then GUICtrlSetData($edit, _
    $szIP_Accepted & " > " & $recv & @CRLF & GUICtrlRead($edit))
    Filewrite("C:/Message/recieved.txt",$recv)
    WEnd

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

    If $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)

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

    TCPShutdown()
    EndFunc ;==>Example

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

    ; Funktion um die IP Adresse eines verbundenen Sockets wiederzugeben.
    ;----------------------------------------------------------------------
    Func SocketToIP($SHOCKET)
    Local $sockaddr, $aRet

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

    $sockaddr = DllStructCreate("short;ushort;uint;char[8]")

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

    $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
    "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
    If Not @error And $aRet[0] = 0 Then
    $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
    If Not @error Then $aRet = $aRet[0]
    Else
    $aRet = 0
    EndIf

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

    $sockaddr = 0

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

    Return $aRet
    EndFunc ;==>SocketToIP

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Server - Client tcp

    • Kev
    • 15. März 2010 um 09:43

    das heißt am ende nen tcpshutdown() rein?!

    so versteh ichs grad^^

    dann machters aber trotzdem nur nach 5 sec, und net alle 5 sec.

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 09:33

    kay, ich baus gleich ein.

    habs jetz so :

    [autoit]


    Opt('MustDeclareVars', 1)

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

    ;==============================================
    ;==============================================
    ; CLIENT! Startet mich, nachdem der Server gestartet wurde!!!!!!!!!!!!!!!
    ;==============================================
    ;==============================================
    global $start

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

    $start = Timerinit()
    while 1
    if TimerDiff($start) > 5000 Then
    client()
    $start = TimerInit()
    EndIf
    WEnd

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

    client()

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

    Func client()
    ; Richte einige wiederverwendbare Informationen ein.
    ;--------------------------
    Local $ConnectedSocket, $szData
    ; Set $szIPADDRESS Wir ändern den PC-Namen in eine IP-Adresse.
    ; Local $szServerPC = @ComputerName
    ; Local $szIPADDRESS = TCPNameToIP($szServerPC)
    Local $szIPADDRESS = "192.168.245.128"
    Local $nPORT = 33891

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

    ; Startet den TCP Service
    ;==============================================
    TCPStartup()

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

    ; Initialisiert eine Variable, um eine Verbindung anzugeben.
    ;==============================================
    Dim $ConnectedSocket = -1

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

    ; Versucht, zu einem Server mit der IP und dem PORT 33891 zu verbinden.
    ;=======================================================
    $ConnectedSocket = TCPConnect($szIPADDRESS, $nPORT)

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

    ; Falls es einen Fehler gibt, wird er angezeigt
    If @error Then
    client()
    Else

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

    $szData = "IP Adresse:" & "" & @IPAddress1 & "" & "Computername: " & "" & @ComputerName & "" & "Zeit des Clienten:" & "" & @Hour & ":" & @min &":" & @sec
    TCPSend($ConnectedSocket,$szData)
    EndIf
    EndFunc ;==>Example

    [/autoit]

    jetz schickt der des nach 5 sec
    er solls aber alle 5 sec

    bloß wie?

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 09:14

    thx geht ;)

    und wenn ich jtzt sagen will, sende das alle 30 min?

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 09:03

    darauf bin ich dann auch gekomm, hat aber anscheinend eins gefehlt, naja jetz gehts :D

    jetz schickter mir bloß die daten 100000 mal ^^ kann man dem net sagen, sende 1 mal ip, 1 mal computername, 1 mal time und fertig ;)

    /edit, juhu ich bin fortgeschritten xD

  • Server - Client tcp

    • Kev
    • 15. März 2010 um 08:37

    Hey,

    hab mir mal das tcpsend und recv thema angeschaut und versuch da grad was zu basteln..
    krieg aber immer nen error in expression..

    [autoit]


    Opt('MustDeclareVars', 1)

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

    ;==============================================
    ;==============================================
    ; CLIENT! Startet mich, nachdem der Server gestartet wurde!!!!!!!!!!!!!!!
    ;==============================================
    ;==============================================

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

    Example()

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

    Func Example()
    ; Richte einige wiederverwendbare Informationen ein.
    ;--------------------------
    Local $ConnectedSocket, $szData
    ; Set $szIPADDRESS Wir ändern den PC-Namen in eine IP-Adresse.
    ; Local $szServerPC = @ComputerName
    ; Local $szIPADDRESS = TCPNameToIP($szServerPC)
    Local $szIPADDRESS = "192.168.245.128"
    Local $nPORT = 33891

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

    ; Startet den TCP Service
    ;==============================================
    TCPStartup()

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

    ; Initialisiert eine Variable, um eine Verbindung anzugeben.
    ;==============================================
    Dim $ConnectedSocket = -1

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

    ; Versucht, zu einem Server mit der IP und dem PORT 33891 zu verbinden.
    ;=======================================================
    $ConnectedSocket = TCPConnect($szIPADDRESS, $nPORT)

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

    ; Falls es einen Fehler gibt, wird er angezeigt
    If @error Then
    MsgBox(4112, "Fehler", "TCP-Connect schlug mit folgendem WSA-Fehler fehl: " & @error)
    ; Wenn es keinen Fehler gibt, dann erscheint wiederholt eine Inputbox zur Eingabe von Daten, die zum Server gesendet werden sollen.
    Else
    ; Fragt fortwährend nach Daten, die zum Server gesendet werden sollen.
    While 1
    ; InputBox für die zu versendenden Daten
    $szData = "IP Adresse: " @IPAddress1 & "Computername: "@ComputerName "Zeit des Clienten: "& @Hour & ":" & @min ":" & @sec

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

    ; Wenn die Inputbox geschlossen wird oder leer bleibt, wird die Schleife beendet.
    If @error Or $szData = "" Then ExitLoop

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

    ; Wir sollten Daten in $szData haben... Lasst uns versuchen, sie durch unseren verbundenen Socket zu versenden.
    TCPSend($ConnectedSocket,$szData)

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

    ; Wenn das Senden mit @error fehlgeschlagen ist, dann ist der Socket getrennt.
    ;----------------------------------------------------------------
    If @error Then ExitLoop
    WEnd
    EndIf
    EndFunc ;==>Example

    [/autoit]

    is das standart ding bis auf n paar veränderungen :)

    [autoit]

    $szData = "IP Adresse: " @IPAddress1 & "Computername: "@ComputerName "Zeit des Clienten: "& @Hour & ":" & @min ":" & @sec

    [/autoit]

    error kommt hier.

    gruß

    Kev

  • Domain - Message senden

    • Kev
    • 11. März 2010 um 16:20

    sprich ich brauch ein serverprogramm und den sogenannten adminclienten der die nachricht eingibt und senden klickt,

    was soll das server ding denn so können vom aufbau her?
    wie soll ich da anfangen :x

    nur so grob, geht au in wörtern^^

  • Domain - Message senden

    • Kev
    • 11. März 2010 um 16:13

    hey ^^

    ist es möglich über autoIt ohne "net send (winxp und drunter) oder msg (vista/win7)" eine message zu einer bestimmten ip innerhalb einer domain nachrichten zu versenden. :S

    gruß

    Kev

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™