String von einem Pc zu anderem übersenden

  • Also ich hab ganze einfach vor auf 2 Pc's jeweils ein Programm laufen zu haben.

    Das Eine soll z.B. den String "Hallo Welt" an den Zweiten versenden, welcher diesen darauf hin in der Console anzeigt.


    Geht das?
    Und wenn ja dann brauch ich Hilfe weil ich mich in diesem Gebiet recht wenig auskenn ;)


    Edit: Muss nicht zwingend in der Console sein kann auch in ne Datei gschrieben werden oder so was.

  • Hallo hundi,

    hier mal ein ganz einfacher Aufbau von nem Server und nem Client.

    Den Server auf dem Rechner laufen lassen, der die Daten übertragen soll und den Client auf dem PC laufen lassen, der die Daten empfangen soll...

    Wenn Du beim Server dann F9 drückst, kannst Du einen Text eingeben, der auf dem anderen Rechner dann in ner msgbox auftaucht.

    Spoiler anzeigen

    Server

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

    #include <Array.au3>

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

    Global $TCPMainSocket, $i, $Socket[80]
    HotKeySet("{F9}", "SendFunc")
    $i = 1

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

    TCPStartup()

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

    $TCPListenSocket = TCPListen(@IPAddress1, 5900)

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

    While 1

    $TCPMainSocket = TCPAccept($TCPListenSocket)
    if $TCPMainSocket <> -1 Then
    $Socket = $TCPMainSocket
    EndIf

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

    WEnd

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

    Func SendFunc()


    $tSend = InputBox("Send function", "Enter a function to send", "String zum übergeben")
    If $tSend <> "" Then
    TCPSend($Socket, $tSend)
    EndIf

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

    EndFunc ;==>SendFunc

    [/autoit]
    Spoiler anzeigen

    Client

    [autoit]

    TCPStartup()

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

    Local $ServerIP = "xxx.xxx.xxx.xxx" ;Ip des Servers

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

    $TCPMainSocket = TCPConnect($ServerIP, 5900)

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

    If $TCPMainSocket = -1 Then
    MsgBox(48, "Server", "Kein Server gefunden")
    TcpShutdown()
    Exit
    EndIf

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

    While 1

    $TCPRecv = TCPRecv($TCPMainSocket, 2048)
    If $TCPRecv <> "" Then
    _CheckFunc($TCPRecv)
    EndIf

    WEnd

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

    ;~ Hier kannst Du Dir dann den Wert der übergeben wurde weiterverarbeiten ($tFunc) als Bsp. in ner msgbox
    Func _CheckFunc($tFunc)

    msgbox (0,"",$tFunc)


    EndFunc

    [/autoit]
  • Also wenn ich die Ip Adresse auf meine änder und den Client auf nem anderen Pc ausführt sollte es klappen?

    Hab da jetzt als IP "10.1.1.9" eingetragen.

    Wenn ich nämlich was absende kommt da nix an.

  • Also die IP des Rechners, auf dem der Server läuft...

    Deine IP kommt mir aber schon etwas komisch vor...

    Geh mal auf

    Start -> Ausführen

    gib da cmd ein

    und im DOS-Fenster ipconfig.

    Da müsste dann Deine IP-Adresse stehen...

    (z.B. 192.170.120.10)

    Kannst es auch testen, indem Du auf Deinem Rechner zuerst den Server und dann den Client startest. (Hier dann bei IP 127.0.0.1 eingeben...)

  • Ich weiß ist etwas komisch aber das ist die ^^

    Also
    - ich habe den Client auf einen anderen Pc geschoben
    - der Client beherbergt die Ip meines Rechners
    - Server wird auf meinem Pc ausgeführt

    aber da passiert nix wenn ich was sende. ?(


    Muss ich da auch wirklich nur die Ip des Pc's eingeben oder iwie noch Gatway oder sonst was?

  • Die zwei Rechner sind im LAN miteinander verbunden?
    Wenn ja, läuft ne Firewall? (Zonealarm oder gar die Windoof Firewall)?
    Wenn Du nen Router hast, ist der Port freigeschalten? (Port 5900)

    Kannst Du den zweiten Rechner anpingen?

  • Lan ist auf jedenfall vorhanden da ich mit vnc auf den anderen Rechner gehe^^

    Firewalls gibts auf jedenfall und Port weiß ich nicht.


    Ich glaub aber das es an einem der letzten beiden liegt. Hab nämlich auch mal den Chat ausprobiert und der klappt auch nicht. Findet keinen Server.

  • Sehr schön....

    Wenn Du VNC in der normalen Config laufen hast, greift der über Port 5900 auf den anderen Rechner zu ==> Port ist frei!

    Demnach kann es nur an der Firewall liegen...

    Compilier die beiden au3 Dateien mal als exe und gib die dann in der Firewall frei...

    Server muss dann auch als "Server" freigaben erhalten.

    Die Probleme kenn ich auch nur zu gut (Zonealarm...)

  • Da liegen z.Z. leider Hardware Firefalls im weg da komm ich jetzt so nicht dran :(

    Um etwa 5.00 - 5.30 bin ich wieder zuhause dann versuch ich das da nochmal ;)

  • Zitat

    Die Probleme kenn ich auch nur zu gut (Zonealarm...)


    ich nicht^^
    Im internen Netz gibts extrem selten Programme, die unerlaubten Zugriff auf andere Maschinen haben wollen, daher habe ich auf allen Rechnern die Warnmeldungen aktiviert. Wenn jetzt ein Programm ungefragt "nach Hause telefonieren" möchte, dann bekommt der User eine Meldung und kann das erlauben oder verbieten.
    Die von dir angesprochen "Probleme" entstehen nur, wenn man bestimmten Diensten/Programmen radikal den Zugriff verbietet, dann blockt die Firewall natürlich, gibt aber auch keine Info aus und man ist auf die Durchsicht der Logdateien angewiesen, um den "Fehler" zu finden.
    BTW funktioniert die client/server Nachrichtenversendung mittels Autoit einwandfrei.
    ciao
    Andy

  • So bin jetzt zuhaus und hier klappt alles wunderbar ;)

    Jetzt noch eine Frage:

    Kann man das auch über Inet machen?

  • Geht bestimmt...

    Wenn Du von außerhalb auf Deinem Rechner mittels VNC zugreifen kannst, dann hast Du im Router bestimmt ne Portfreigabe mit Weiterleitung an
    den jeweiligen Rechner.

    Du brauchst dann dazu die öffentliche IP Deines Routers und wenn Du diese dann im au3- Script einträgst, müsste es schon funktionieren.

    Deine öffentliche IP ändert sich aber bei der Zwanstrennung durch Deinen Anbieter... Entweder Du suchst Dir die IP jeden Tag aufs neue raus oder Du legst Dir nen
    Account bei dyndns.org oder ähnlichen Anbietern zu.

  • Was hast Du eigentlich vor?

    Bastl grad selber an nem Monitor für einen Server rum....

    (Restart, Tasklist, Screenshot über TCP)

  • Soll so nen kleines Tool für chatten und Sachen hinterlegen und senden werden.
    Außerdem hab ich vor nen bisschen was über das Tcp & Ip Zeug von AutoIt zu lernen.^^


    Ich könnte also jetzt einen Server aufsetzten (hab ich schonmal mit DynDns gemacht aber iwann liefs nicht mehr^^||hab ich mit unserer FritzBox+Massenspeicher gemacht)
    an den schickt der eine Pc seine Ip und der Server (wär dann halt mein Pc) kann diese auslesen und als Ip dann verwende.

    Lieg ich da jetzt richtig?

  • Über dyndns erhälst Du Deine feste IP. Diese trägst Du dann beim Client ein.
    Deinen dyndns Account trägst Du dann in der Fritzbox ein.
    Sobald sich Deine Box eine neue Ip holt, wird diese dann an dyndns gesendet.
    Dadurch ist bei dyndns immer die aktuelle IP der Fritzbox hinterlegt...

  • Okay.. Ich bin jetzt grad wieder nicht zuhause deshalb werd ich nachher mal mit dyndns was erstellen.

  • Dyndns ist eine sehr gute Sache.
    Ich nutze es um weltweit auf eine Linkstation zugreifen zu können.

    @hundi
    Wenn Du TCP / IP lernen willst (den Aufbau), dann kann ich gerne Info's zu Subnetting usw. abtippen und zusenden. Habe es noch in meinen Unterlagen. Früher waren IP's für mich nur komische Zahlen mit Punkten, seit nicht sooooooooo langer Zeit verstehe ich auch die ganzen Zahlen und wie man via IP's Netzwerke zusammen fügt. Coole Sache, wenn man gutes Hintergrundwissen hat und als Frau den Männern z. B. abends mal die PC's verbinden kann, weil die das nicht schaffen. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Es geht wohl gemerkt darum dies ganze Zeug in AutoIt zu programmieren ( Mit Netzwerken habe ich in AutoIt bissher noch nix gemacht ) ;)


    Edit:

    Kennt sich jmd nen bisschen mit der neuen Fritz Box aus?

    Ich finde da einfach nicht die Einstellung zum Dns vergeben :(

    Einmal editiert, zuletzt von hundi (15. April 2009 um 17:25)