Skip to content
Antonio edited this page Jan 20, 2023 · 5 revisions

πŸ– Welcome to the TCPClient wiki!

In this guide I will explain how to extend this project to implement what you need, but first a little history

❓ Why this project?

As a student in the Bachelor of Science in Computer Science program at the University "Federico II", I participated in the course of Operating Systems Laboratory whose purpose was to lay the foundations for client-server communication by asking the student to implement a small project consisting of a client in Android using Java language and a server in C using system-calls.

Once the project was finished, I weighed to abstract the code, which was useful to me, of the client and make it open source so that anyone who has to create a similar project can avoid boilerplate code and start with a fair head start, only having to implement the project's intended features and UI.

😱 Does that mean copying?

Before I created this project, a question came to my mind, "But could a user who uses this project as the basis for a project of his own be accused of copying?". I couldn't give myself an answer, nor can I give you any reassurances, but I want to explain one of the principles of software engineering: DRY.

If you don't want to open the link, I will explain that this principle advises the programmer, but anyone, to avoid writing code that has already been written but rather entices you to use what has already been implemented .

By this I mean that even if you use this code as a starting point, you can change YOUR design to suit your needs.

πŸ—Ί How this wiki is structured

With this wiki I will try to give you an overview of the most important packages and features, describing the architectural pattern used and the main functions.

🏠 Home

πŸ“¦ The packages: description and usage

Clone this wiki locally