yojimbo
A network library for client/server games written in C++ (by mas-bandwidth)
bitproto
The bit level data interchange format for serializing data structures (long term maintenance). (by hit9)
yojimbo | bitproto | |
---|---|---|
5 | 3 | |
2,595 | 149 | |
0.7% | 1.3% | |
6.2 | 8.3 | |
29 days ago | 4 months ago | |
C | C | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
yojimbo
Posts with mentions or reviews of yojimbo.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-06.
-
Multiplayer Networking Solutions
yojimbo/ netcode/ reliable, all developped by Glenn Fidler, author of GafferOnGames
-
"Move all" feature added in inventory. In your face little fudsters. Gaming revolution incoming!
They really just didn't know how to go about building a complex online game or what that entails. At one point they were trying to donate to open source networking projects that were still in development and not production-ready in hopes they'd help them make their game, you'll see them listed as sponsors of yojimbo for example. It was bizarre to watch.
-
Handling acks during 1+ second packet loss with Glenn Fiedler's Reliable UDP Solution
I can't remember exactly how best to handle this (Glenn's yojimbo project is probably your best bet for a concrete implementation), but here's an idea: buffer and ACK some packets (e.g. up to N packets following your missing packet) and discard everything else (without ACK) until the missing one shows up. The protocol will then continuously try to send your missing packet, in addition to the packets you've intentionally not ACK'd. Once the missing packet shows up you can process it and any buffered packets up to your next missing packet and repeat.
-
I need a good and simple networking library for C++
You may want to take a look at yojimbo , looks like it will fit your requirements pretty well.
-
Programming question : Which techniques are used to achieve real-time between players in online openworlds ? (think wow, ff14, teso)
And has his own C++ library for transmitting messages over UDP protocol https://github.com/networkprotocol/yojimbo
bitproto
Posts with mentions or reviews of bitproto.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-09-06.
-
Are there any libraries for defining and generating code for byte- or bit- aligned messaging or packet formats?
I had a similar use case for embedded microcontroller work. Unfortunately, the only one that I found that lets you have bit-level control is bitproto. The problem with all these protocol formats is that they require generated sources to be included in your project at compile time.
- Show HN: Bitproto – bit level data format for serializing data structures
- The bit level data interchange data format for serializing data structures.
What are some alternatives?
When comparing yojimbo and bitproto you can also consider the following projects:
netcode.io - Secure client/server connections over UDP
msquic - Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust.
ENet-CSharp - Reliable UDP networking library
keepalived - Keepalived
KCP - :zap: KCP - A Fast and Reliable ARQ Protocol
bakelite - Bakelite is a utility that makes it simple to communicate with your firmware.