finalstage: Client soll mehrere Socketverbindungen aufbauen

Hallo,

habe zur Zeit das Problem, dass ich ein PerlScript habe was mehrere Socketverbindungen zu verschiedenen Servern aufbauen soll, jedoch kann das Script keine zweite TCP-Verbindung zu einem anderen Server aufbauen..

Funktioniert..

$con[0]=new IO::Socket::INET->new(PeerPort=>'30386',Proto=>'tcp',PeerAddr=>'127.0.0.1') or die "cannot bind : $@\n";

Geht nichtmehr.. (cannot bind : IO::Socket::INET: connect: Unknown error)

$con[1]=new IO::Socket::INET->new(PeerPort=>'30486',Proto=>'tcp',PeerAddr=>'127.0.0.1') or die "cannot bind : $@\n";

Woran liegt das und was mache ich falsch und was kann ich dagegen tun? :)
Läuft alles auf Windows XP..

  1. Hi,

    $con[0]=new IO::Socket::INET->new(PeerPort=>'30386',Proto=>'tcp',PeerAddr=>'127.0.0.1') or die "cannot bind : $@\n";

    $con[1]=new IO::Socket::INET->new(PeerPort=>'30486',Proto=>'tcp',PeerAddr=>'127.0.0.1') or die "cannot bind : $@\n";

    Sind das jetzt nur Beispieldaten, oder sieht der Code im Original aus so aus? Damit versuchst du nämlich, zwei Verbindungen auf dem gleichen Port (30486) auf den gleichen Rechner (localhost) aufzumachen, woran er wohl dann scheitert.

    Margin-Auto

    1. 你好 Margin,

      $con[0]=new IO::Socket::INET->new(PeerPort=>'30386',Proto=>'tcp',PeerAddr=>'127.0.0.1') or die "cannot bind : $@\n";

      $con[1]=new IO::Socket::INET->new(PeerPort=>'30486',Proto=>'tcp',PeerAddr=>'127.0.0.1') or die "cannot bind : $@\n";

      Sind das jetzt nur Beispieldaten, oder sieht der Code im Original aus so aus? Damit versuchst du nämlich, zwei Verbindungen auf dem gleichen Port (30486) auf den gleichen Rechner (localhost) aufzumachen, woran er wohl dann scheitert.

      Mal abgesehen davon, dass das zwei verschiedene Ports sind (30386 und 30486): warum sollte man nicht zwei unterschiedliche Verbindungen zum gleichen Listener aufbauen können? Wenn das so wäre, könnte ein HTTP-Server ja auch nur einen Client gleichzeitig bearbeiten...

      Interessanter wäre es, mit welcher Symptomatik das Script abbricht. "Geht nicht" ist eine beschissene Fehlerbeschreibung. Gibt es eine Fehlermeldung? Hängt das Script einfach? Was passiert?

      再见,
       克里斯蒂安

      --
      Bauer sucht Frau! | Ich bin ja eigentlich kein Serien-Junkie…
      Wenn auf Erden alle das Schoene als schoen erkennen, so ist dadurch schon das Haessliche bestimmt.
      http://wwwtech.de/
      1. Mal abgesehen davon, dass das zwei verschiedene Ports sind (30386 und 30486): warum sollte man nicht zwei unterschiedliche Verbindungen zum gleichen Listener aufbauen können? Wenn das so wäre, könnte ein HTTP-Server ja auch nur einen Client gleichzeitig bearbeiten...

        Interessanter wäre es, mit welcher Symptomatik das Script abbricht. "Geht nicht" ist eine beschissene Fehlerbeschreibung. Gibt es eine Fehlermeldung? Hängt das Script einfach? Was passiert?

        Hallo :)
        in meinem Beitrag war die Ausstiegsmeldung angegeben:

        Geht nichtmehr.. (cannot bind : IO::Socket::INET: connect: Unknown error)

        ;)

        Habe aber etwas herumprobiert und anscheinend funktioniert das ganze doch, allerdings ist die betreffende serversoftware anscheinend strange, denn ich bekomme eine verbindungsaufforderung über einen hub-server, doch wenn sich mein client dann an die angegebene ip:port connecten will geht das nicht, warum auch immer, aber ich werds wohl rausfinden müssen ;)

        Geht um einen DC++ Bot ;)

        1. Hm, nein, der Port ist definitiv offen, ich kann nur nicht von meinem Rechner auf meinen Rechner zu diesem Port connecten..

          Habe mal einen Localport mitgegeben aber das ändert nichts, gleicher Fehler..