---
name: "Net::FTP::dataconn"
section: "3p"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/Net::FTP::dataconn"
---

# Net::FTP::dataconn(3p)

FTP Client data connection class

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