Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abshar-shihab/hybrid-p2p-distributed-chat-file-sharing-application-using-bsd-sockets
The application is designed to enable communication and file sharing among community members. The key requirements include sharing details about files in a client's shared directory, allowing search and download of shared files, supporting full-duplex chat, and maintaining a community with at least four members.
https://github.com/abshar-shihab/hybrid-p2p-distributed-chat-file-sharing-application-using-bsd-sockets
Last synced: 8 days ago
JSON representation
The application is designed to enable communication and file sharing among community members. The key requirements include sharing details about files in a client's shared directory, allowing search and download of shared files, supporting full-duplex chat, and maintaining a community with at least four members.
- Host: GitHub
- URL: https://github.com/abshar-shihab/hybrid-p2p-distributed-chat-file-sharing-application-using-bsd-sockets
- Owner: Abshar-Shihab
- Created: 2024-03-05T11:21:46.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-05T11:26:36.000Z (10 months ago)
- Last Synced: 2024-11-06T21:34:47.316Z (about 2 months ago)
- Language: C++
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hybrid-P2P-Distributed-Chat-File-Sharing-Application-using-BSD-Sockets
The application is designed to enable communication and file sharing among community members. The key requirements include sharing details about files in a client's shared directory, allowing search and download of shared files, supporting full-duplex chat, and maintaining a community with at least four members.## Server Implementation
The server is responsible for:
- Accepting incoming connections from clients.
- Maintaining a list of active clients and their shared files.
- Handling file search requests.
- Facilitating chat sessions between clients.
The server uses BSD sockets to establish connections with clients and manages a database of active clients and their shared files.## Client Implementation
Each client is responsible for:
- Connecting to the server upon joining the community.
- Sharing details about its shared files with the server.
- Initiating and participating in full-duplex chat sessions.
- Sending file search requests to the server and downloading files from other clients.