Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchronous sockets feature, WIP. #168

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

4real
Copy link
Contributor

@4real 4real commented Dec 23, 2022

Currently implemented inline in bichannel listener & client connection, though it's intended to be separate classes for Unity.

Currently (because I suck) it has a fair number of memory recycling and IDisposable issues that need to be solved. Some threading details are also sketchy.

Motivation for those unaware:

  1. Unity async sockets don't work with clumsy, an important lag simulation tool.
  2. Async sockets in Unity allocate a lot of memory which ends up a performance problem with Unity's GC.
  3. Async sockets tend to simply handle poorly in Unity under high load (in current implementation), with a potential for queuing up infinite requests in memory until something breaks (see point 2).

If someone has a better implementation without bugs, feel free to share it and I can close this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant