Safari on iOS does not drop your live dealer WebSocket because the signal got worse. It drops it because Safari keeps the old TCP connection alive long after the radio has moved to a different network path, and nothing in a progressive web app can tell it to stop. That single behaviour explains most of the “it froze right when I walked into the kitchen” complaints on mobile live casino tables. This guide breaks down the mechanics, then shows how operators and players can work around them.
What actually happens when your phone changes network
A WebSocket is a long-lived TCP connection pinned to a specific IP address and port pair. When your iPhone moves from Wi-Fi to cellular, or from one Wi-Fi access point to another, the device gets a new IP address. The old socket is now pointing at an address the phone no longer owns. On a desktop browser this is usually handled quickly: the operating system signals a route change, the browser sees the connection fail, and the JavaScript onclose or onerror handler fires within a second or two.
On iOS, Safari does not get that signal in a useful form. The network path change is handled deep in the system, and the WebSocket object keeps reporting readyState === OPEN even though no packets can reach the server. The socket sits there until TCP itself gives up, which with default keepalive settings can take anywhere from 30 seconds to several minutes. During that window the live dealer video may keep playing from buffer while your bet slips stop reaching the table. That is the freeze players describe.
The reason is structural rather than a bug. Apple exposes network path information to native apps through the Network framework and the NWPathMonitor API. A progressive web app running in Safari has no access to those APIs. There is no navigator.connection.onchange that fires reliably on iOS, and the older NetworkInformation interface is either missing or returns static values. So the browser has no cheap way to know the path changed, and the socket layer has no reason to tear down a connection it believes is healthy.
Why the Britsino web app cannot simply ask iOS for help
Britsino offers a progressive web app rather than a native binary. The Britsino app is installed from the mobile browser, adds a home screen icon, and opens full-screen without an address bar. That is a clean, low-friction install path, and it is the right call for a casino that wants to avoid store review cycles. It also means the Britsino web app runs inside Safari’s WebKit sandbox with exactly the permissions a website gets, no more.
There is no Britsino APK to sideload and no Britsino build in Google Play or the App Store, so there is no native wrapper that could call NWPathMonitor on the operator’s behalf. The trade-off is real: a native iOS app could subscribe to path updates and force a socket reconnect in under 200 milliseconds. A PWA cannot. It has to infer network changes indirectly, and the only reliable inference channel is application-level traffic.
The heartbeat pattern that replaces a missing OS signal
The fix is to build your own path detection into the WebSocket protocol. The server sends a small ping frame every 10 to 15 seconds. The client must respond with a pong, or the client sends its own application-level ping and expects an ack. If two consecutive heartbeats go unanswered, the client declares the socket dead and tears it down itself rather than waiting for TCP. That converts a multi-minute stall into a 20 to 30 second detection window, and often less if you use a shorter interval.
Detection alone is not enough. The client also needs reconnect logic that does not wait for the user to reload the page. A good implementation backs off exponentially (1s, 2s, 4s, 8s, capped at 15s), keeps the session token in memory, and re-subscribes to the live table state on the new socket. https://uk-britsino-casino.com/app/ offers additional context worth reviewing. The server side has to support idempotent re-subscription so a reconnecting player does not get double-charged or lose their seat at the table. Britsino should expose this as a visible “reconnecting” state in the UI rather than a silent spinner, because players who see the state change trust the app more than players staring at a frozen dealer.
Installing the Britsino mobile casino without an APK file
Because Britsino publishes no APK, installation is a browser action on both platforms. Android users install via Chrome’s “Add to Home screen” prompt, which appears automatically after a couple of visits or can be triggered from the three-dot menu. iOS users install via Safari’s Share sheet and the “Add to Home Screen” option. There is no unknown sources warning to dismiss, no APK installation step, and no risk of a tampered binary, which is a genuine security advantage over sideloaded casino apps.
If you are setting this up for someone, a QR code pointing at the Britsino mobile casino URL is the fastest route. Scan it, open in the correct browser (Chrome on Android, Safari on iOS), install, then sign in. The Britsino web app provides the same bonuses as desktop, so there is no reason to hunt for a downloadable package. Any site offering a “Britsino APK download” is either repackaging the site inside a WebView wrapper or distributing something you should not install.
- Open the Britsino site in Chrome (Android) or Safari (iOS). Do not use an in-app browser from a social app, because those often block install prompts.
- Wait for the install banner or use the browser menu. On iOS it is the Share icon, then “Add to Home Screen”.
- Confirm the icon is added, then launch from the home screen so the app runs full-screen without an address bar.
- Sign in once and allow the session to persist so reconnects after a network switch do not require re-authentication.
- Test the reconnect behaviour on a spare network before you play for real money, so you know what the “reconnecting” state looks like.
Practical steps to survive a network switch mid-hand
Players cannot fix Safari’s socket handling, but they can reduce the damage. The biggest single improvement is turning off Wi-Fi before you sit down if you know you are about to move around, or staying on a single strong network if you are stationary. iOS switches networks more aggressively than Android when signal drops below a threshold, and each switch is a fresh chance for the socket to go stale. Airplane mode toggling is a crude but effective manual reset: it forces the radio to re-register and, in most cases, the browser to notice the socket is dead.
On the operator side, the checklist is short and specific. Heartbeat every 10 to 15 seconds in both directions. Client-side detection after two missed beats. Exponential backoff reconnect with a visible state indicator. Server-side idempotent re-subscription so a reconnect does not duplicate bets or drop the player from the table. Log reconnect events with timestamps and network type so you can correlate drops with carrier or handset models, which is the only way to know whether your heartbeat interval is tuned correctly.
For anyone testing this, keep a simple routine. Play a few hands on Wi-Fi, then disable Wi-Fi mid-hand and watch how long the UI takes to show a reconnect. Under 30 seconds is acceptable; under 15 is good. Anything over a minute means the heartbeat interval is too long or the client is trusting the socket state instead of measuring it. Run the same test on cellular to Wi-Fi, since the two directions behave differently on iOS.
Do not judge a live casino by whether it drops on a network switch, because every WebSocket-based product does. Judge it by how fast and how visibly it recovers. A Britsino mobile casino session that shows a clear reconnecting banner, restores your seat, and keeps your bet history intact is doing the job properly. Test that behaviour on a spare network before you trust it with real stakes, and if you are building or auditing a PWA casino, treat heartbeats and reconnect logic as table stakes rather than optional polish.