Contact emails
[email protected]

Explainer
https://github.com/explainers-by-googlers/Multicast-in-Direct-Sockets


Specification
https://github.com/WICG/direct-sockets/pull/79


Design docs

https://github.com/WICG/direct-sockets/blob/main/docs/multicast-explainer.md
https://docs.google.com/document/d/1Wna0lkTrhYoTxOO1GjOrut2nWHO19HEyo9YCk39tXqY/edit?usp=sharing


Summary
Allows Isolated Web Apps to subscribe to multicast groups and receive UDP 
packets from there, and to specify additional parameters when sending UDP 
packets to multicasts addresses.


Blink component
Blink>Network->Direct Sockets


Web Feature ID
Missing feature


Motivation
1. Synchronous video stream from one device to the whole network of devices. 
For example, imagine in a shopping mall there would be multiple displays which 
show videos simultaneously on all devices. 2. Device discovery on a local 
network. mDNS protocol uses multicast sockets under the hood. In short, when a 
device joins a network, it sends a message: “Hello, I am headphones-10, my ip 
is '20.20.20.14' . Who else is here?”, other devices reply and in such a manner 
all devices can know about each other without a central server.


Initial public proposal
https://github.com/WICG/proposals/issues/228


TAG review
Tag does not review Isolated Web Apps. It was stated publicly here 
https://github.com/w3ctag/design-reviews/issues/842#issuecomment-2917031448


TAG review status
Not applicable


Risks




Interoperability and Compatibility
Other browsers may choose to implement this API.

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:


Security
Security and privacy considerations are explained 
https://github.com/WICG/direct-sockets/blob/main/docs/multicast-explainer.md 
Security considerations This API gives the opportunity to flood the network 
with packets. By only providing this API to Isolated Web Apps the user agent 
can be more confident that the application has not been compromised. This 
allows users and system administrators to confidently grant this capability to 
trusted applications. Additionally, routers have control, whether they send 
multicast packets or drop them. In many setups dropping multicast packets is 
the default setting.


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?
No information provided



Debuggability
The code using this API can be debugged using the standard tools. Integrating 
the API with the DevTools Networking tab to enable easier introspection of the 
state of these connections as well as the data transferred could be a 
beneficial future improvement.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?
No
This feature is implemented on desktop platforms, although it will only be 
available to the end users on platforms that support Isolated Web Apps, which 
is currently only ChromeOS. Android is excluded for historical reasons, 
although there are no apparent interoperability blockers here.


Is this feature fully tested by web-platform-tests?
No
Cannot be tested in WPT, the issue 
https://github.com/web-platform-tests/wpt/issues/55304


DevTrial instructions
https://github.com/WICG/direct-sockets/blob/main/docs/multicast-how-to.md


Flag name on about://flags
MulticastInDirectSockets


Finch feature name
MulticastInDirectSockets


Rollout plan
Will ship enabled for all users


Requires code in //chrome?
False


Measurement
Separate programmatic counters for the .idl methods and attributes (via 
MeasureAs) are included to track the stats for API usage: 
MulticastControllerJoinGroupFunction MulticastControllerLeaveGroupFunction 
MulticastControllerJoinedGroupsAttribute


Availability expectation
Feature is available only in Isolated Web Apps on desktop platforms. 
https://chromestatus.com/feature/5146307550248960


Adoption expectation
Expected to be used initially by a small number of developers inside Isolated 
Web Apps.


Adoption plan
Working directly with developers that are planning to rely on the API.


Estimated milestones


Shipping on desktop 144

DevTrial on desktop 142




Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, changing to naming or structure of the API in a 
non-backward-compatible way).
None


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5073740211814400?gate=5084202819256320


Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68aeedee.050a0220.27f047.019b.GAE%40google.com



This intent message was generated by Chrome Platform Status.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68f21631.050a0220.29f70d.0062.GAE%40google.com.

Reply via email to