```{index} single: Net::FTP::dataconn ``` # Net::FTP::dataconn FTP Client data connection class ## SYNOPSIS ```perl ## 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(); ``` ## DESCRIPTION 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 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 translation. - `write($buffer, $size[, $timeout])` Write `$size` bytes of data from `$buffer` to the server, also performing any 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 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'. ## EXPORTS _None_. ## KNOWN BUGS _None_. ## AUTHOR 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 Copyright (C) 1997-2010 Graham Barr. All rights reserved. Copyright (C) 2013-2014, 2020 Steve Hay. All rights reserved. ## LICENCE 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. ## VERSION Version 3.15 ## DATE 20 March 2023 ## HISTORY See the `Changes` file.