Skip to content

Ajay-1502/TFTP-Server-Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ TFTP Client-Server File Transfer System

πŸ“Œ Overview

This project is a simplified implementation of the TFTP (Trivial File Transfer Protocol) using C and UDP sockets. It enables reliable file transfer between a client and a server using block-based communication, acknowledgments, and retry mechanisms.

The project demonstrates how reliability can be built on top of an unreliable protocol like UDP.


πŸš€ Features

  • πŸ“€ Upload files from client to server (PUT / WRQ)

  • πŸ“₯ Download files from server to client (GET / RRQ)

  • πŸ“¦ Block-based data transfer (512 bytes)

  • πŸ” Acknowledgment (ACK) mechanism for reliability

  • ⏱ Timeout and retry handling

  • πŸ”„ Multiple transfer modes:

    • Normal (512 bytes)
    • Octet (1 byte at a time)
    • Netascii (newline conversion)

πŸ›  Tech Stack

  • C Programming
  • UDP Socket Programming
  • Linux System Calls

About

This project is a simplified implementation of the TFTP (Trivial File Transfer Protocol) using C and UDP sockets. It enables reliable file transfer between a client and a server using block-based communication, acknowledgments, and retry mechanisms. The project demonstrates how reliability can be built on top of an unreliable protocol like UDP.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages