Phylliida / P2P.NET

Peer to peer networking in C# using WebRTC
MIT License
171 stars 30 forks source link

Consider switching to Spitfire. #5

Open andrewmd5 opened 5 years ago

andrewmd5 commented 5 years ago

Hi there!

Awesome project you've got going here, I'm a big fan of people trying to make P2P apps easier. It seems this library uses another project that has some known compatibility issues.

We developed a WebRTC wrapper for C# called Spitfire that has numerous performance improvements, support for operating systems such as XP and Windows 7 and the latest versions of WebRTC. The API's are pretty similar and the added benefit is the library is also a C++/CLI library allowing for easier package management.

Happy to consult if you choose to use it.

Phylliida commented 5 years ago

Hey! Thanks for the suggestion. I actually really like Spitfire and wrote a (almost) working wrapper into this project and in Unity a bit ago, it’s a great project.

However, I never uploaded that code anywhere because I kept running into an issue. Spitfire works great when I make one instance of the class. However, if I make two objects (for testing), I noticed that when I disposed one of them, the other one stopped working and would sometimes crash.

I went in and tried to tweak the Spitfire source code a bit but didn’t have any success.

Do you know if there is a way to have multiple Spitfire instances running at the same time? Where I can dispose of one without closing my entire program. Perhaps it is unessary, but it is a behavior I really wanted

I noticed Spitfire has example code that does this, but it doesn’t ever dispose of the instances until right before the entire program closes.

andrewmd5 commented 5 years ago

Could you show an example of how you were handling the Spitfire instances? We are able to have multiple sessions going.

Phylliida commented 5 years ago

Hmm I went back again to go check and noticed my Spitifire version was very old, it alternatively may have just been me using it incorrectly.

Have you managed to get a recent version of Spitfire running in Unity? That’s my intended use case and I haven’t managed to get a recent version of Spitfire running in Unity yet