perl TCP Client & Server

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • perl TCP Client & Server

    hallo ich post einfach mal meinen ersten eintag :)
    ich hab for kurtzem angefangen mich mit perl zu bescheftigen
    und wolt ein kleines rat schreiben der soket funktionirt
    auch so wie ich das will nur weis ich nicht wie ich dem server ne nachricht
    schiken die der als befehl auf dem server ausführt und dan den client die
    ausgebe des befehls schikt
    hir is mal der client

    Quellcode

    1. #tcpclient.pl
    2. use IO::Socket;
    3. $ip = 0;
    4. $port = 0;
    5. print 'Adresse eingeben: ';
    6. chomp ($ip = <STDIN>);
    7. print 'Port eingeben: ';
    8. chomp ($port = <STDIN>);
    9. $socket = new IO::Socket::INET (
    10. PeerAddr => $ip,
    11. PeerPort => $port,
    12. Proto => 'tcp',
    13. )
    14. or die "Keinen Server gefunden unter $ip:$port\n";
    15. $socket->recv($recv_data,1024);
    16. print "Info: $recv_data\n";
    Alles anzeigen




    und hir is der server

    Quellcode

    1. #tcpserver.pl
    2. use IO::Socket;
    3. $| = 1;
    4. $verbindung = "Verbindung hergestelt";
    5. $socket = new IO::Socket::INET (
    6. LocalPort => '5400',
    7. Proto => 'tcp',
    8. Listen => 5,
    9. Reuse => 1
    10. );
    11. die "Info: socket auf port 5400 kan nicht geöfnet werden" unless $socket;
    12. print "\nServer lauscht auf port 5400";
    13. while(1)
    14. {
    15. $client_socket = "";
    16. $client_socket = $socket->accept();
    17. $peer_address = $client_socket->peerhost();
    18. $peer_port = $client_socket->peerport();
    19. print "\n Eingehende verbindung fon: ( $peer_address , $peer_port ) ";
    20. $client_socket->send ($verbindung);
    21. }
    Alles anzeigen


    ihr müst mir keinen kompleten code posten wie das hin haut mir reichen eigentlich auch
    kleine denk hilfen wie ich das verwirklichen kan das wo ich patu nicht drauf komme
    ist wie er mir die ausgabe zurück an den client schikt :)

    ich hoffe mal ihr könt alles lessen bin legasteniker
    mfg benni
  • Hi, wie weit bist du denn gekommen? Welche Ausgaben erhältst du?

    Ich würde dir folgende 3 Seiten empfehlen, dort erfährst du alles, was du wissen musst.
    u.A. die Endlosschleife könnte man wie in den Beispielen zu sehen ist schöner realisieren.

    Writing a TCP Client: docstore.mik.ua/orelly/perl/cookbook/ch17_02.htm
    Writing a TCP Server: docstore.mik.ua/orelly/perl/cookbook/ch17_03.htm
    Communicating over TCP: docstore.mik.ua/orelly/perl/cookbook/ch17_04.htm
  • Kannst du mit dem bisherigen Code erfolgreich eine Verbindung aufbauen?
    Falls ja kannst du einen String an den Server senden, und dann ausführen:

    Quellcode

    1. $cmdOutput=qx($cmd);
    2. $client_socket->send ($cmdOutput);

    Aber herauszufinden, wie du die Daten von deinem Client bekommst, überlasse ich dir ;).
    Ich denke aber mal, dass es kein Problem mithilfe von d0nut's Links sein sollte.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.