Changeset 8466 for lang/perl/Net-Partty

Show
Ignore:
Timestamp:
03/28/08 16:15:24 (5 years ago)
Author:
yappo
Message:

lang/perl/Net-Partty: IO::Socket::Telnet を使うようにした。あとsyswriteじゃなくてsendを使う

Location:
lang/perl/Net-Partty/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Net-Partty/trunk/example/pertty.pl

    r8453 r8466  
    113113            STDOUT->syswrite($buf, $len); 
    114114            unless ($opts->{noconnect}) { 
    115                 $partty->sock->syswrite($buf, $len); 
     115                $partty->sock->send($buf); 
    116116                $partty->can_write(100); 
    117117            } 
     
    121121            $master->syswrite($buf, $len); 
    122122        } elsif ($fno == $p_fno) { 
    123             my $len = $fh->sysread(my $buf, 4096); 
     123            my $len = $fh->recv(my $buf, 4096); 
    124124            $master->syswrite($buf, $len) unless $opts->{kill_guest}; 
    125125        } 
     
    140140 
    141141    return if $opts->{noconnect}; 
    142     my $cmd = pack 'CCCnnCC', 255, 250, 31, $size[0], $size[1], 255, 240; 
    143     $partty->sock->syswrite($cmd, 9); 
    144     $partty->can_write(100); 
     142    $partty->sock->sb(chr(31), pack('nn', $size[0], $size[1])); 
    145143} 
    146144 
  • lang/perl/Net-Partty/trunk/lib/Net/Partty.pm

    r8454 r8466  
    99use Carp; 
    1010use IO::Select; 
    11 use IO::Socket; 
     11use IO::Socket::Telnet; 
    1212 
    1313my $DefaultOpts = { 
     
    3333sub _sock_open { 
    3434    my $self = shift; 
    35     $self->{sock} = IO::Socket::INET->new( 
     35    $self->{sock} = IO::Socket::Telnet->new( 
    3636        PeerAddr => $self->host, 
    3737        PeerPort => $self->port, 
    38         Blocking => 1, 
    3938        Proto    => 'tcp', 
    4039    ) or croak $!; 
     
    5453    my($self, $int) = @_; 
    5554    my $data = pack 'C', $int; 
    56     $self->sock->syswrite($data, 1); 
     55    $self->sock->send($data); 
    5756} 
    5857sub _send_uint16 { 
    5958    my($self, $int) = @_; 
    6059    my $data = pack 'n', $int; 
    61     $self->sock->syswrite($data, 2); 
     60    $self->sock->send($data); 
    6261} 
    6362 
     
    7372 
    7473    croak 'session time out' unless $self->can_write(10); 
    75     $self->sock->syswrite('Partty!', 7); 
     74    $self->sock->send('Partty!'); 
    7675    $self->_send_uint8(2); 
    7776    for my $param (@params) { 
     
    7978    } 
    8079    for my $param (@params) { 
    81         $self->sock->syswrite($opts{$param}, length $opts{$param}); 
     80        $self->sock->send($opts{$param}); 
    8281    } 
    83     $self->sock->flush; 
    8482 
    8583 
     
    105103} 
    106104 
     105{ 
     106    package # 
     107        IO::Socket::Telnet; 
     108    sub sb { 
     109        my($self, $cmd, $opt) = @_; 
     110        $self->send(chr(255) . chr(250) . $cmd . $opt . chr(255) . chr(240)); 
     111    } 
     112} 
    107113 
    1081141;