ErisApps / CatCore

A shared high-performance chat client library written in .NET Standard 2.0
GNU General Public License v3.0
29 stars 3 forks source link

Draft: Feature/socket client #12

Open Fernthedev opened 2 years ago

Fernthedev commented 2 years ago

The purpose of this PR is a few:

While this is designed for a Quest companion mod in mind, it would be nice to have it generalized for other use cases such as multi-computer setups (maybe?).

Currently, I've yet to decide on whether protobuf or JSON serialization will be used. If we go with JSON, serialization and data classes are simpler and easy to write. The problem then is deserializing (securely) fast and safely. Methods of deserializing JSON:

Protobuf may or may not solve both of these issues, I've yet to look into protobuf enough to understand properly the correct usage in this scenario.

The networking implementation is also questionable, the way I see it. It feels fragile and far too complex, it needs cleaning and simplifying for others to be able to maintain.