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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages