This section provides an overview of Tizen Sockets Extension, allowing low-level socket access. This feature allows building real time media streaming applications that can use protocols like RTP/RTSP.Socket functions can be called from a JavaScript Worker thread.
Tizen Sockets Extension API
cURL Sample Using Tizen Socket Extensions
The Tizen Sockets Extension is a Samsung extension API which grants a WebAssembly application low-level access to Tizen platform sockets. It offers high bandwidth and low latency for the TCP and UDP connection protocols.
An example use case is applications using real-time multimedia streaming (using the RTP/RTSP protocol). One such sample application is Moonlight GameStreaming (its source code can be found on github). Moonlight was presented at SDC2019.
For an example on using the Tizen Sockets Extension in practice, see Building cURL Applications Using CLI Tools and Building cURL Applications Using Tizen Studio.
Where possible, the semantics of the Tizen Sockets Extension methods conform to POSIX.1-2017. The most notable differences are:
-s PROXY_TO_PTHREAD
--proxy-to-worker
poll()
select()
The following extensions to sockets are provided:
SOCK_NONBLOCK
SOCK_CLOEXEC
accept4()
gethostbyaddr()
gethostbyname()