
Valve to open source 'GameNetworkingSockets' for developers, Steam not required - pferde
https://www.gamingonlinux.com/articles/valve-to-open-source-gamenetworkingsockets-to-help-developers-with-networking-steam-not-required.11483
======
lallysingh
This is lovely. But if you're developing something on the web:, here's a quick
comparison with what you get in WebRTC in your browser: SCTP over DTLS:

    
    
      > Connection-oriented protocol (like TCP)  -- yup
      > ... but message-oriented instead of stream-oriented.  -- yup
      > Mix of reliable and unreliable messages  -- yup
      > Messages can be larger than underlying MTU, the protocol performs fragmentation and reassembly, and retransmission for reliable -- yup
      > Bandwidth estimation based on TFP-friendly rate control (RFC 5348) -- I don't think so?
      > Encryption.  -- yup
      > Tools for simulating loss and detailed stats measurement  -- you can use linux's netem on containers to simulate loss; not but you have to collect your own stats.

~~~
thomastjeffery
Indenting a line with 4 spaces on HN disables word wrap, making your comment
very difficult to read on mobile.

We run into this problem _all the time_. HN really needs some markup for
quotes.

~~~
justin66
> HN really needs some markup for quotes.

Italics work fine.

~~~
thomastjeffery
Except when you want to keep the italics that are already inside the quote.

It's also clear that people _expect_ some kind of markup, which is why they
often mistake fixed-width markup for quote markup.

~~~
justin66
> Except when you want to keep the italics that are already inside the quote.

If you're sure it actually matters you can turn off the italics around the
portion that was originally italicized, which isn't typographically correct
but it gets the point across. Italics are the happy medium between something
perfect which hasn't been implemented (or described) yet and the visual
diarrhea people sometimes post.

~~~
thomastjeffery
Yes, there are workarounds.

My entire point is that people choose code formatting as a workaround, and
that isn't viable. We really ought to _fix_ the problem, rather than complain
every time someone uses the wrong workaround. The latter isn't a scalable or
effective solution.

HN has a wonderfully succinct amount of markup, but it's really lacking in
this one particular area.

------
a_t48
This looks potentially delicious. There's some other options out there, but
they either felt a little aging (RakNet) or did too much (libuv) the last time
I used\evaluated them. Interested to see what this one is like.

~~~
alloyed
Probably the most equivalent existing open source thing out there is ENet,
which doesn't do encryption or detailed stats. If you've signed the steam NDA
(which is free of charge iirc) you can check out the existing docs for the
closed source version, which has extra features on top of this.

------
EtDybNuvCu
I'll believe it when I see it; the authors are well-known for arbitrarily-long
delays on upcoming releases as well as bare-bones git repositories with
nothing inside.

Unfortunately, I expect that this reference implementation will be a pile of
C++, but hopefully the protocol itself will be sufficiently-well-documented to
permit implementation in other languages.

------
teilo
Seems like this would have a use well beyond gaming, particularly in the
realms of real-time monitoring.

