{"id":22767415,"url":"https://github.com/orenccl/winsock-multithread-server","last_synced_at":"2025-03-30T10:45:41.225Z","repository":{"id":96957410,"uuid":"220654037","full_name":"orenccl/Winsock-MultiThread-Server","owner":"orenccl","description":"Winsock-Multi-Client-Server","archived":false,"fork":false,"pushed_at":"2019-11-25T14:36:34.000Z","size":644,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-05T12:45:43.225Z","etag":null,"topics":["c-plus-plus","client-server","component-pool","dod","memory-pool","multithreading","server","winsock"],"latest_commit_sha":null,"homepage":null,"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/orenccl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-11-09T14:28:25.000Z","updated_at":"2025-01-10T19:55:21.000Z","dependencies_parsed_at":"2023-04-28T13:47:50.713Z","dependency_job_id":null,"html_url":"https://github.com/orenccl/Winsock-MultiThread-Server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orenccl%2FWinsock-MultiThread-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orenccl%2FWinsock-MultiThread-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orenccl%2FWinsock-MultiThread-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orenccl%2FWinsock-MultiThread-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orenccl","download_url":"https://codeload.github.com/orenccl/Winsock-MultiThread-Server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246307931,"owners_count":20756478,"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":["c-plus-plus","client-server","component-pool","dod","memory-pool","multithreading","server","winsock"],"created_at":"2024-12-11T13:30:04.739Z","updated_at":"2025-03-30T10:45:41.209Z","avatar_url":"https://github.com/orenccl.png","language":"C++","readme":"# MintServer\n###### tags: `C++` `Winsock` `Multi-Client Server`  \n\n## The Plan  \nLearn how to careat a Winsock-Multi-Client-Server by using windows API, and record how I learn it.\n\nI learn most of it from  \n[The Brave](http://mmogc3d.blogspot.tw/2007/07/its-test.html)  \n[FaceBookPage](https://www.facebook.com/avatar996)  \n[FacebookGroup-The Brave's C++ Server Engine Community](https://www.facebook.com/groups/602569573901631/)\n\n## Why using C++?  \n### Pros  \n* High performance.  \n* Most of software, Engine, API etc... is create by C++.  \n* Control Memory Manually to enhance efficiency and stability.  \n* Create wheel by myself.  \n\n### Cons  \n* If not use pointer, array, list etc... carefully, may cause a fatal error.  \n* Control Memory Manually is dangerous.  \n* C++ has no memory security check.  \n* A lot of code is needed compared to other languages.  \n* Hard to debug a big project.  \n* Not easy for beginner.  \n\n## Prior Knowledge\n* Basic of C language  \n* Pointer  \n* Class  \n* Inheritance  \n* Polymorphism  \n* Template  \n* Data structure and Algorithm  \n\nHere is recommanded toturial for C++ learning :  \n[Learn C++ Programming -Beginner to Advance- Deep Dive in C++](https://www.udemy.com/share/101WveBUUSeVpXRHo=/)  \n[Mastering Data Structures \u0026 Algorithms using C and C++](https://www.udemy.com/share/101WoeBUUSeVpXRHo=/)  \n[The Cherno C++ series](https://www.youtube.com/watch?v=18c3MTX0PK0\u0026list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb)  \n\n## Popular Game Engine's programming language  \n* Unity Engine :   \n  Core : C++  \n  Application : C#  \n  \n* Unreal Engine :  \n  All build on C++  \n  \n* Photon Engine :  \n  Server Core : C++  \n  Server Application : C#  \n  Client Application : Various of popular language.  \n\n## A Game Engine's Structure  \n### Main Program is usually a .exe file.  \n### Impltment with .dll files, for example :  \n* Comman -- Commanly use function, API.  \n* Net -- Network communication ( winsock / IOCP )  \n* SQL -- Data library ( mySQL / MSSQL )  \n* Gameplay -- Gaming Logic  \n* ToolUI -- D3D / OpenGL  \n* Image -- Image format ( bmp / tga / png / jpg )  \n* GUI -- Game UI  \n\n## Game Engine Framework History\n```flow\nst=\u003estart: Object-Oriented Designed\ne=\u003eend: ECS + Job System\nop=\u003eoperation: Component-Based Design\n\nst-\u003eop-\u003ee\n```\n\n## Environment  \nCompiler : VS2019  \nPlatform : Window x64  \n\n## Main Feature  \n* Multi-Threading  \n* CPU cache hit  \n* Less OOP ( Object-Oriented Design )  \n* More Component-Based, Data-Oriented Design  \n\n## Future Plan  \n* Decentralized-Server framework  \n* Concurrency and Parallelism  \n* WindorAPI IOCP  \n\n## Toturial\n[Toturial 1 - TCP Server](https://hackmd.io/@Jun/Hy_oLrHsr)  \n\n[Toturial 2 - Memory](https://hackmd.io/@Jun/HJnPquHsS)  \n\n[Toturial 3 - Process and Thread](https://hackmd.io/@Jun/rJndT3LoS)\n\n[Toturial 4 - Package](https://hackmd.io/@Jun/SJ6RO76jH)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forenccl%2Fwinsock-multithread-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forenccl%2Fwinsock-multithread-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forenccl%2Fwinsock-multithread-server/lists"}