Erlang -- Getting Started

TFTP

User's Guide

Version 1.0

- User's Guide
- Reference Manual
- Release Notes
- PDF
- Top

- Expand All
- Contract All

### Chapters

- Introduction
  - Top of chapter
  - Purpose
  - Prerequisites
- Getting Started
  - Top of chapter
  - General Information
  - Using the TFTP client and server

# 2 Getting Started

### 2.1 General Information

The start/1 function starts a daemon process listening for UDP packets on a port. When it receives a request for read or write, it spawns a temporary server process handling the transfer.

On the client side, function read_file/3 and write_file/3 spawn a temporary client process establishing contact with a TFTP daemon and perform the file transfer.

tftp uses a callback module to handle the file transfer. Two such callback modules are provided, tftp_binary and tftp_file. See read_file/3 and write_file/3 for details. You can also implement your own callback modules, see CALLBACK FUNCTIONS. A callback module provided by the user is registered using option callback, see DATA TYPES.

### 2.2 Using the TFTP client and server

This is a simple example of starting the TFTP server and reading the content of a sample file using the TFTP client.

Step 1. Create a sample file to be used for the transfer:

          $ echo "Erlang/OTP 21" > file.txt

Step 2. Start the TFTP server:

          1> {ok, Pid} = tftp:start([{port, 19999}]).
          {ok,<0.65.0>}

Step 3. Start the TFTP client (in another shell):

          1> tftp:read_file("file.txt", binary, [{port, 19999}]).
          {ok,<<"Erlang/OTP 21\n">>}