4 ms·
Was reading through https://www.diva-portal.org/smash/get/diva2:1451494/FULLTEXT02 https://www.diva-portal.org/smash/get/diva2:1451494/FULLTEXT... - what's the
by eyberg 6y ago
Was reading through https://www.diva-portal.org/smash/get/diva2:1451494/FULLTEXT02 https://www.diva-portal.org/smash/get/diva2:1451494/FULLTEXT... - what's the current status/eta of raw sockets? Last time I checked wasm consensus seemed to suggest they will never be supported?
- the_duke 6y agoAre you talking about the browser or other environments? There is a proposal [1] for adding sockets to WASI. This blog post [2] has some more background info. Outside the browsers, you can always provide extra functionality yourself though by supplying host defined functions as imports. That looses the benefit of a standard API, but is fine for custom deployments. [1] https://github.com/WebAssembly/WASI/pull/312 https://github.com/WebAssembly/WASI/pull/312 [2] https://radu-matei.com/blog/towards-sockets-networking-wasi/ https://radu-matei.com/blog/towards-sockets-networking-wasi/
- eyberg 6y agoYeh, this article kinda confirms what I've been thinking the past few years: "Implementing a server requires additional API functions exposed - specifically, sock_bind, sock_listen, and sock_accept" "And while implementing them is done similarly to what was described here so far, there is an underlying issue: there is no multi-threading support in WebAssembly" Really surprised to see so many people talking this up to running many/most server-side applications with so many fundamental features missing.
- the_duke 6y agoThere is of course the threads proposal [1], which works in chrome with a feature flag, but most runtimes don't support it yet. In general I have to agree that WASM needs more time. There are multiple quite crucial proposals in the pipeline (reference types, interface types, threads, tail calls and other advanced control flow, module linking, (GC), ...) which have all seen very slow progress. Overall I'm still bullish on the potential of WASM for universal deployment, but the slow pace is a bit concerning. [1] https://github.com/WebAssembly/threads https://github.com/WebAssembly/threads
- fulafel 6y agoRaw sockets need root permissions on most platforms.