Thread dual stack modell (12 answers)
Opened by enzo at 2011-07-16 16:24

MatthiasW
 2011-07-18 05:14
#150490 #150490
User since
2008-01-27
367 Artikel
BenutzerIn
[default_avatar]
Habe als Test zunächst denselben Rechner herangezogen, mit folgendem Skript:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl

use 5.010;
use strict;
use warnings;
use IO::Socket::INET6;

while () {
    print "> ";
    my $command = <STDIN>;
    
    my $addr = $command =~ s/^4// ? '127.0.0.1' : '::1';
    
    my $socket = IO::Socket::INET6->new(
        PeerAddr => $addr,
        PeerPort => 20_000,
        Proto    => 'tcp',
    ) or die "error creating socket: $@\n";
    
    print $socket $command;
    print scalar <$socket>;
    close $socket;
    
    last if $command =~ /^quit|exit|bye/;
}

Und anschließend noch von einem alten Windows-System (ohne IPv6) per putty verbunden. Das hat ebenfalls funktioniert.

Bezüglich sshd: Du hast recht, es ist nur ein Prozess der auf '::' und auf '0.0.0.0' lauscht. Du könntest ja mal versuchen in dem ersten Skript als IPv4-Adresse nicht '127.0.0.1' sondern stattdessen '0.0.0.0' und als IPv6-Adresse nicht '::1' sondern '::' herzunehmen.

Ansonsten kannst du ja mal beschreiben wie du es bislang versucht hast, am Besten mit entsprechendem Code und der dazugehörigen Ausgabe. Mit obigem Skript und dem ersten Server-Skript sollte es so aussehen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ perl server.pl &
$ perl client.pl
> foobar
raboof
> 4foobar
raboof
> exit
exiting
$ perl client.pl
> test
error creating socket: IO::Socket::INET6: connect: Verbindungsaufbau abgelehnt
$ perl client.pl
> 4test
tset
> 4exit
exiting
[1]+ Fertig perl server.pl


MfG
perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'

View full thread dual stack modell