Net::FTP::dataconn - FTP Client data connection class
# Perform IO operations on an FTP client data connection object:
$num_bytes_read = $obj->read($buffer, $size);
$num_bytes_read = $obj->read($buffer, $size, $timeout);
$num_bytes_written = $obj->write($buffer, $size);
$num_bytes_written = $obj->write($buffer, $size, $timeout);
$num_bytes_read_so_far = $obj->bytes_read();
$obj->abort();
$closed_successfully = $obj->close();
Some of the methods defined in "Net::FTP"
return an object which will be derived from this class. The dataconn class
itself is derived from the
"IO::Socket::INET" class, so any normal IO
operations can be performed. However the following methods are defined in the
dataconn class and IO should be performed using these.
- "read($buffer, $size[, $timeout])"
- Read $size bytes of data from the server and place
it into $buffer, also performing any <CRLF>
translation necessary. $timeout is optional, if
not given, the timeout value from the command connection will be used.
Returns the number of bytes read before any <CRLF>
translation.
- "write($buffer, $size[, $timeout])"
- Write $size bytes of data from
$buffer to the server, also performing any
<CRLF> translation necessary. $timeout is
optional, if not given, the timeout value from the command connection will
be used.
Returns the number of bytes written before any <CRLF>
translation.
- "bytes_read()"
- Returns the number of bytes read so far.
- "abort()"
- Abort the current data transfer.
- "close()"
- Close the data connection and get a response from the FTP server. Returns
true if the connection was closed successfully and the first digit
of the response from the server was a '2'.
Graham Barr <gbarr@pobox.com <mailto:gbarr@pobox.com>>.
Steve Hay <shay@cpan.org <mailto:shay@cpan.org>> is
now maintaining libnet as of version 1.22_02.
Copyright (C) 1997-2010 Graham Barr. All rights reserved.
Copyright (C) 2013-2014, 2020 Steve Hay. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the
same terms as Perl itself, i.e. under the terms of either the GNU General
Public License or the Artistic License, as specified in the LICENCE
file.