{"id":22197573,"url":"https://github.com/advancedhacker101/netlib","last_synced_at":"2025-09-12T12:42:55.682Z","repository":{"id":80741713,"uuid":"140320641","full_name":"AdvancedHacker101/NetLib","owner":"AdvancedHacker101","description":"A C# Network library for protocol development","archived":false,"fork":false,"pushed_at":"2018-07-09T17:38:47.000Z","size":63,"stargazers_count":3,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-10-20T16:11:57.595Z","etag":null,"topics":["client","easy-to-use","network","protocols","server","ssl","tcp"],"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/AdvancedHacker101.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-07-09T17:35:20.000Z","updated_at":"2023-10-20T16:11:58.342Z","dependencies_parsed_at":"2023-03-12T12:02:33.176Z","dependency_job_id":null,"html_url":"https://github.com/AdvancedHacker101/NetLib","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedHacker101%2FNetLib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedHacker101%2FNetLib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedHacker101%2FNetLib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdvancedHacker101%2FNetLib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdvancedHacker101","download_url":"https://codeload.github.com/AdvancedHacker101/NetLib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227740646,"owners_count":17812687,"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","easy-to-use","network","protocols","server","ssl","tcp"],"created_at":"2024-12-02T14:19:58.055Z","updated_at":"2024-12-02T14:19:59.007Z","avatar_url":"https://github.com/AdvancedHacker101.png","language":"C#","readme":"# NetLib\nNetLib is a c\\# network library without any external dependencies, built with .NET 4.7.1  \nIt makes the long and hard process to create a network protocol a bit easier.  \n### Usage\nAlthough the project is aimed at custom protocols, it is helpful when integrating with already existing protocols.  \nClasses such as `ByteIntegrity`, `Crypt`, `Compression`, `Base64`, have all the functions a protocol needs.  \nThere are 2 Clients a `TcpClient` and an `SSLClient`.  \nWith servers you can choose between ssl and non-ssl servers as well as single or multi client handling servers.  \nMulti client handling servers have a unique client ID system, so you can focus on the messages of a client.  \nByteIntegrity turns Tcp from a stream into a message protocol by sending the length of the message as a prefix, handling the message construction in the background.  \n### Events\nNetLib is almost fully event based, you can subscribe to events such as ClientConnected, BytesReceived, LineReceived, ClientDisconnected.  \nAlso based on your needs simple direct read/write methods are available, NOTE: they block the execution on the calling thread until a message is received.  \nWe also support async read calls, so your form based application can run without freezing.  \n### Summary\nIn short NetLib is an awesome protocol building library, highliy customizable and easy to control.  \nJust clone the repo, open it with Visual Studio, build the project (CTRL + SHIFT + B) to get a .dll file you can import to other projects.  \nFor information about contribution, please read the CONTRIBUTING.md file.  \n\nHappy protocol design!","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadvancedhacker101%2Fnetlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadvancedhacker101%2Fnetlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadvancedhacker101%2Fnetlib/lists"}