Threads: don't know Sockets: emscripten has a socket-over-WebSockets 'emulation' which allows to write a TCP-socket-wrapper which shares most of the code with a 'native' socket version, but with some (pretty hefty) caveats:
- emscripten sockets always operate in non-blocking mode, if your existing socket code uses blocking mode anywhere it needs to be rewritten for non-blocking (since your code uses threads too, it sounds like it is using blocking sockets inside threads to avoid blocking the main thread, AFAIK this won't be portable to emscripten, even once threads are available). - since emscripten sockets use WebSockets under the hood, your server needs to be able to handle WebSocket connections instead of 'raw' TCP socket connections - WebSockets are message-oriented, not stream-oriented under the hood (every send() you do corresponds to exactly one recv(), unlike TCP streams), if your code already properly handles TCP socket data streams, this shouldn't be an issue, but it's better to be aware of it, since the native- and WebSocket-version will behave slightly different on the receiver-side). In general, don't expect any existing socket code to simply compile and work on emscripten. You'll most likely need to rewrite the low-level socket wrapper code, and on the server-side add a WebSocket-to-TCP proxy, but you can it in a way shares a lot of code between the emscripten- and native-version, both on the client- and server-side. Cheers! -Floh On Sunday, 2 September 2018 19:27:51 UTC+2, Varun Kumar wrote: > > I have a C library which uses sockets and threads. I want the library to > be available for the developers to use when building apps which run in > browsers and on node, and also when developing hybrid apps using cordova. I > read that the SharedArrayBuffer support is not there yet in the stable > versions of the browsers. I could not completely understand how would > sockets work. So, could you please let me know whether is it the right > approach to use WebAssembly for the above mentioned use case. Are sockets > and threads supported or how long will it take for support for these > features to come so that these could be used in a production environment? > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
