QtNetworkProgramming
This repo contains 2 projects for client and server application in Qt framework.
Install / Use
/learn @vRFEducation/QtNetworkProgrammingREADME
<a name="readme-top"></a>
<!-- *** Thanks for checking out the Best-README-Template. If you have a suggestion *** that would make this better, please fork the repo and create a pull request *** or simply open an issue with the tag "enhancement". *** Don't forget to give the project a star! *** Thanks again! Now go create something AMAZING! :D --> <!-- PROJECT SHIELDS --> <!-- *** I'm using markdown "reference style" links for readability. *** Reference links are enclosed in brackets [ ] instead of parentheses ( ). *** See the bottom of this document for the declaration of the reference variables *** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use. *** https://www.markdownguide.org/basic-syntax/#reference-style-links --> <!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/vRFEducation/QtNetworkProgramming"> <img src="images/logo.png" alt="Logo" width="80" height="80"> </a> <h3 align="center">Qt Network Programming</h3> <p align="center"> This repo contains 2 application for a full client/server application demo <br /> <a href="LICENSE.txt"><strong>Explore the docs »</strong></a> <br /> <br /> <a href="https://youtu.be/JacoUUPklHY">View Demo</a> · <a href="LICENSE.txt">Report Bug</a> · <a href="https://github.com/vRFEducation/QtNetworkProgramming/issues">Request Feature</a> </p> </div> <!-- TABLE OF CONTENTS --> <details> <summary>Table of Contents</summary> <ol> <li> <a href="#about-the-project">About The Project</a> <ul> <li><a href="#built-with">Built With</a></li> </ul> </li> <li> <a href="#getting-started">Getting Started</a> <ul> <li><a href="#prerequisites">Prerequisites</a></li> <li><a href="#installation">Installation</a></li> </ul> </li> <li><a href="#usage">Usage</a></li> <li><a href="#roadmap">Roadmap</a></li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> <li><a href="#contact">Contact</a></li> </ol> </details> <!-- ABOUT THE PROJECT -->About The Project
Here with this project we're going to learn about the basics of network programming in Qt framework. This repo contains 2 projects one for client application and the other act as the server. Here we focus on TCP protocol and in future I'll cover how to use UDP for communication also.
<p align="right">(<a href="#readme-top">back to top</a>)</p>Built With
- Qt v6.0
Getting Started
To get start with this project I recommand to watch the Demo video on youtube
Prerequisites
Download and install Qt on your machine from it's official site (https://www.qt.io/) based on your OS.
Installation
- Clone the repo
git clone https://github.com/vRFEducation/QtNetworkProgramming.git - Open project in Qt Creator
- Run qmake in Build menu (for both client and server)
- Run the Application (both client and server)
Usage
Communicating between 2 application on different machine or even connect to a device that support TCP/IP and send data over this protocol, is widely used in industries applications. So here I'm gonna create a clien/server application to show how you can establish such kind of connections between application and trasnfer data in 2-way commuinication.
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- ROADMAP -->Roadmap
- [ ] Use UDP as the protocol for communication
See the open issues for a full list of proposed features (and known issues).
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- CONTRIBUTING -->Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt for more information.
Contact
Vahid Rahmanifard - linkedin-url - rahmanifard@live.com
Project Link: https://github.com/vRFEducation/QtNetworkProgramming
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- MARKDOWN LINKS & IMAGES --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->

