I know you can create WebSocket connections from within a Service Worker itself; my question is more whether or not you can use a WebSocket from your app as normal and have
It's not possible for a service worker to intercept Web Socket traffic.
The service worker's fetch
event is triggered only for controlled clients' HTTPS requests, and the message
event is triggered only for postMessage()
requests from clients.
While there is an HTTP handshake when initiating a Web Socket connection, that handshake does not trigger a fetch
handler, and neither does the actual traffic sent once the connection has been established.