PubNub SDKs deliver realtime messages over a persistent HTTP connection to the /v2/subscribe endpoint. The client holds each subscribe request open and resumes from a timetoken cursor, so no message is missed between requests. Browser SDKs use fetch with an XMLHttpRequest fallback; Node SDKs use pooled HTTP/2 connections where the endpoint supports it.
PubNub does not use WebSocket.
Delivery guarantees are enforced above the transport: ordering by server-assigned monotonic timetokens, durability by Message Persistence, and recovery by replay-from-timetoken. These properties hold regardless of transport.