4 ms·
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: > Con
by lallysingh 9y ago
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.
- zamalek 9y agoA bit of background: I wanted to do some interesting stuff with actors interacting with some centralized arch - I believed (and still do) that some smarts around actors could be used for some interesting hard real-time applications. I decided that WebRTC data channels might be the best fit (as WebSockets are above TCP). The idea was to layer a server model over P2P (potentially branching out to hybrid for accessing actors in other clients directly). You either have to use a subset of Google's blessed languages (C/++ or Java according to a quick search I did today) for the backend, or you're stuck in serverless land. Building the native library requires a 10GB download and many steps. Implementing WebRTC is no small effort and not appropriate for quick weekend experiments. It's fantastic tech, but there is a serious lack of library support.
- lux 9y agoI recently found a Unity plugin for WebRTC that seems to work pretty well so far (no affiliation): https://assetstore.unity.com/packages/tools/network/webrtc-network-47846 https://assetstore.unity.com/packages/tools/network/webrtc-n... But I agree, the options for implementing WebRTC outside of the browser are still very limited and/or painful at the moment. Having options also helps de-risk what is a rather core feature of games/apps that need it, so this is really cool of Valve!
- pferde 9y agoWow, today I learned about netem. Thanks! :)
- unmole 9y agoCheck out https://github.com/urbenlegend/netimpair https://github.com/urbenlegend/netimpair which is a much nicer wrapper around netem.
- thomastjeffery 9y agoIndenting 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.
- mikenew 9y agoIt also clips the text about 2/3rds of the way across the screen horizontally, so you have to scroll back and forth in this tiny box to read it.
- justin66 9y ago> HN really needs some markup for quotes. Italics work fine.
- thomastjeffery 9y agoExcept 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 9y ago> 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 9y agoYes, 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.
- unmole 9y ago> Bandwidth estimation based on TFP-friendly rate control (RFC 5348) -- I don't think so? SCTP does have (TCP friendly) congestion control