public void SendClientState(CurrentClientState state) { if (!IsValidConnState()) { return; } var method = nameof(IMessageBroadcastHub.ReceiveClientState); _hub.Invoke(method, state); }
public async Task <CurrentClientState> GatherClientState() { var state = new CurrentClientState(); state.ScreenshotB64 = await GetScreenshotB64(); state.PublicIP = (await GetPublicIP()).Trim(); state.PrivateIPs = GetPrivateIPs(); return(state); }
public void Enlist(HubCallerContext context, CurrentClientState clientState) { if (!IsValidSession(context, out HubClientSession session)) { return; } if (clientState != null) { session.CurrentState = clientState; } _clients.AddOrUpdate(session); }
public void ReceiveClientState(CurrentClientState clientState) { _clients.Enlist(Context, clientState); }