Skip to content

UDP-based chat application developed for educational purposes during the Computer Networks Lab at PUCRS. Includes client-server messaging, private messages, and small file transfer using datagram sockets and command-line interface.

License

Notifications You must be signed in to change notification settings

bbzaffari/CHAT-UDP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Chat-UDP-1.0 2023/02

Badge
PUCRS

This project was developed as part of the Computer Networks Laboratory course during the undergraduate program at PUC-RS (Pontifícia Universidade Católica do Rio Grande do Sul). It is intended for educational purposes and may not be production-grade.

Introduction: UDP Chat System — Server/Client over Datagram Sockets

This project implements a chat application over UDP using two core C programs: a server that manages client connections and messaging logic, and a client that forks into two processes — one for sending, one for receiving. Users can join the chat (/lin <name>), send public (/msg <text>) and private messages (/mpv <user> <text>), and even transmit files (/arq <path>), which the server broadcasts with metadata (filename, type, size) before relaying the file itself.

Key Features:

  • UDP-based messaging: no TCP overhead, fast datagram communication.
  • Multiprocess client design: one process sends, another listens.
  • File transfer support: small files can be shared with all online users.
  • Command-based interaction: clean, extensible CLI interface.

What is UDP?

  • UDP (User Datagram Protocol) is a lightweight, connectionless transport protocol.
  • It does not guarantee delivery, ordering, or reliability — making it faster but less safe than TCP.
  • Ideal for broadcast, real-time apps, and lightweight communications, like chat, streaming, or DNS queries.

About

UDP-based chat application developed for educational purposes during the Computer Networks Lab at PUCRS. Includes client-server messaging, private messages, and small file transfer using datagram sockets and command-line interface.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • C 100.0%