emitFrame method
Delivers frame exactly as written, for what emit cannot express.
emit always builds an application event with a channel and a data
payload, which is the common case. Two things need more than that:
seeding a presence roster, which arrives as a
pusher_internal:subscription_succeeded frame carrying presence.ids
and presence.hash; and connection-level frames such as pusher:error,
which carry no channel at all. Pass the frame the server would send.
Implementation
void emitFrame(Map<String, dynamic> frame) => _liveSocket.emitJson(frame);