{"id":15209595,"url":"https://github.com/mosinskyi/client-server-qt","last_synced_at":"2026-03-17T03:50:12.925Z","repository":{"id":250191580,"uuid":"833748416","full_name":"MOsinskyi/client-server-qt","owner":"MOsinskyi","description":"This project is a simple client-server application using Qt and C++. The server listens for incoming connections and echoes messages back to connected clients.","archived":false,"fork":false,"pushed_at":"2024-08-02T17:41:19.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T12:15:53.615Z","etag":null,"topics":["client-server","cpp","qt6","tcp-server"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MOsinskyi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-25T17:02:26.000Z","updated_at":"2024-08-02T17:41:22.000Z","dependencies_parsed_at":"2024-07-25T20:09:54.511Z","dependency_job_id":"7955f9c0-7b4f-4de1-b1ae-87188d429d1c","html_url":"https://github.com/MOsinskyi/client-server-qt","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"70382968f30eb9b0eedd99d9571528ecd9387b85"},"previous_names":["mosinskyi/client-server-qt"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MOsinskyi%2Fclient-server-qt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MOsinskyi%2Fclient-server-qt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MOsinskyi%2Fclient-server-qt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MOsinskyi%2Fclient-server-qt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MOsinskyi","download_url":"https://codeload.github.com/MOsinskyi/client-server-qt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242774483,"owners_count":20183089,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-server","cpp","qt6","tcp-server"],"created_at":"2024-09-28T07:41:35.302Z","updated_at":"2025-12-25T03:07:26.553Z","avatar_url":"https://github.com/MOsinskyi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![server](images/server.png)\n\n![Static Badge](https://img.shields.io/badge/_6.2-gray?logo=qt) ![GitHub License](https://img.shields.io/github/license/MOsinskyi/client-server-qt?color=blue) ![GitHub repo size](https://img.shields.io/github/repo-size/MOsinskyi/client-server-qt) ![GitHub Release](https://img.shields.io/github/v/release/MOsinskyi/client-server-qt?color=purple) \n\n\n# Client-Server Qt\n\nThis project is a simple client-server application using Qt and C++. The server listens for incoming connections and echoes messages back to connected clients.\n\n## :star: Features\n\n* Accepts multiple client connections.\n* Echoes messages sent by clients.\n* Uses Qt framework for networking.\n\n## 🚧 Requirements\n\n* Qt 6.x.\n\n* C++17 compatible compiler.\n\n## 🧭 Getting Started\n\n### Clone the repository\n\n```bash\ngit clone https://github.com/MOsinskyi/qt-client-server.git\ncd qt-client-server\n```\n\n### Build the project\n\n1. Open the project in Qt Creator.\n\n2. Configure the project using the desired kit.\n\n3. Build the project.\n\nAlternatively, you can build the project using the command line:\n\n```bash\nmkdir build\ncd build\nqmake ..\nmake\n```\n\n### Run the server\n\n```bash\n./build/client-server-qt\n```\n\n## 📦 Installation\n\n### Linux Ubuntu\n\n1. Go to release page.\n\n2. Download ubuntu package: `server-app-linux-ubuntu.deb`.\n\n3. Open terminal.\n\n4. Go to downloads folder:\n\n   ```bash\n   cd ~/Downloads\n   ```\n\n5. Run `dpkg` command with root:\n\n   ```bash\n   sudo dpkg -i server-app-linux-ubuntu.deb\n   ```\n\n### Other Linux distro\n\n1. Go to release page.\n2. Chose package: `client-server-linux-installer.run` or `server-app-linux-portable.zip`\n\n\u003e [!NOTE]\n\u003e\n\u003e `server-app-linux-portable.zip` and `client-server-linux-installer.run` also work in ubuntu disto\n\n3. Run the installer using command:\n\n   ```bash\n   cd ~/YOUR_DOWNLOADS_FOLDER\n   chmod +x server-app-linux-installer.run\n   ./server-app-linux-installer.run\n   ```\n\n   *Or*\n\n   Click **right** mouse button, go to **Properties** and check if **Executable as Program** is turned on next double click left mouse button to start the installer application.\n\n4. Extract the `server-app-linux-portable.zip` package.\n\n5. Find `server-app.sh`.\n\n6. Make the file **Executable as Program**:\n\n   ```bash\n   chmod +x server-app.sh\n   ```\n\n   Or\n\n   *In Properties Window turn on `Executable as Program`*\n\n7. Run the script:\n\n   ```bash\n   ./server-app-sh\n   ```\n\n8. Done ✅.\n\n### Windows\n\n1. Go to release page.\n2. Chose package: `client-server-windows-installer.exe` or `server-app-windows-portable.zip`.\n3. Run `client-server-windows-installer.exe` as administrator and follow the instructions on the screen.\n4. Extract files from `server-app-windows-portable.zip`.\n5. Run `server-app.bat`.\n6. Done ✅.\n\n## 🧩 Project Structure\n\n* `main.cpp`: Entry point for the application. Initializes the `QApplication` and the `Server`.\n\n* `server.h`: Header file for the `Server` class, which handles incoming connections and data transmission.\n\n* `server.cpp`: Implementation of the `Server` class.\n\n## 🔍 Server Class Overview\n\n| Server Constructor                           | Starts the server and listens on the specified port and initializes the `nextBlockSize` to 0. |\n| -------------------------------------------- | ------------------------------------------------------------ |\n| sendToClient(QString str)                    | Prepares a data packet with the current time and the provided string. Sends the packet to all connected clients. |\n| incomingConnection(qintptr socketDescriptor) | Handles new incoming connections. Sets up signal-slot connections for data reading and socket destruction. |\n| slotReadyRead()                              | Reads incoming data from clients. Echoes the received message back to all clients. |\n\n## ©️ License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.txt) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosinskyi%2Fclient-server-qt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmosinskyi%2Fclient-server-qt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosinskyi%2Fclient-server-qt/lists"}