{"id":22828869,"url":"https://github.com/costingh/client-server","last_synced_at":"2025-03-31T01:19:40.060Z","repository":{"id":196742574,"uuid":"385873325","full_name":"costingh/client-server","owner":"costingh","description":"C++ application with a client that sends messages and a server that receives them. The client and server communicate through non-blocking sockets","archived":false,"fork":false,"pushed_at":"2021-07-31T13:40:57.000Z","size":102507,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T06:35:21.346Z","etag":null,"topics":["client-server","cpp","socket-programming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/costingh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-07-14T08:48:01.000Z","updated_at":"2021-10-29T10:52:06.000Z","dependencies_parsed_at":"2023-09-27T08:13:11.121Z","dependency_job_id":null,"html_url":"https://github.com/costingh/client-server","commit_stats":null,"previous_names":["costingh/client-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costingh%2Fclient-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costingh%2Fclient-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costingh%2Fclient-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costingh%2Fclient-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/costingh","download_url":"https://codeload.github.com/costingh/client-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246399801,"owners_count":20770909,"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","socket-programming"],"created_at":"2024-12-12T19:12:25.718Z","updated_at":"2025-03-31T01:19:35.046Z","avatar_url":"https://github.com/costingh.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Client-Server Application written in c++\n\n## Description\nThis app was build to show how a server and a client communicate through non-blocking sockets.\n\n## Functionality\n* Client\n  - sends a request to server to server to connect\n  - if the server accepts the request, the user receives a confirmation\n  - will set a delay of 15s, in which, if no message is received from server, it will automatically disconnect\n  - will response with a PONG message each time it receives a PING message from server\n* Server\n  - will create a vector with all the clients connected to it\n  - after a new user connects to server, it will keep alive the connection (sending a PING message to the server)\n  - will start monitoring connection performance such as: average delay between messages, how many PONG messages it has received in the last 10s\n  - will set a timer of 15s, in which if it won't receive a PONG message from client, it will disconnect the client\n  - it stores messages in a list and parses them, each message containing in it's first byte the type: CONNECT, PING, PONG, etc.\n\n## Run locally\nTo run the app, open two visual studio instances and run the server.cpp file first on one instance, then the client.cpp on the other.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostingh%2Fclient-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcostingh%2Fclient-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostingh%2Fclient-server/lists"}