Net::FTP::dataconn - FTP Client data connection class

- NAME
- SYNOPSIS
- DESCRIPTION
- EXPORTS
- KNOWN BUGS
- AUTHOR
- COPYRIGHT
- LICENCE
- VERSION
- DATE
- HISTORY

# NAME

Net::FTP::dataconn - FTP Client data connection class

# SYNOPSIS

    # 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 <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'.

# EXPORTS

None.

# KNOWN BUGS

None.

# AUTHOR

Graham Barr <gbarr@pobox.com>.

Steve Hay <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.

Net::FTP::dataconn - FTP Client data connection class