This repository is the lab project for my Computer Network I project in U of T. Please do not directly copy-and-paste and just reference it when you need it.
Implemented a simple client/server program, which interact each other to transfer a file in a connectionless manner. This (fake) file transfer protocol is based on UNIX sockets, and the following features have been implemented:
This protocol is based on UDP, but uses acknowledgements to guarantee reliable transfer
- Flow control
- Congestion control
- Domain Name Resolution
- Various file formats (but not binary files)
This lab uses UNIX TCP sockets to implement a simple text conferencing application. The following features have been implemented:
- Multiple users
- Users must log in with credentials. Server maintains a database for registered users
- Group chat support
- Domain name resolution
- Allow inviting other users to a group chat
- Browse which users are currently online