// Stop the server public void Stop() { // Stop the server and release resources _closed = true; try { _tcp.Server.Close(); _tcp.Stop(); } catch (Exception e) { if (Debugger.IsAttached) { Debugger.Break(); } } try{ _broadcaster.StopBroadcasting(); } catch (Exception) {} // Submit end game report try { var c = new ApiClient(); var dcUsers = State.Instance.DcUsers.ToArray(); var req = new PutGameCompleteReq(State.Instance.Engine.ApiKey, State.Instance.Engine.Game.Id.ToString(), dcUsers); c.CompleteGameHistory(req); } catch (Exception e) { Log.Error("Disconnect Error reporting disconnect", e); } // Close all open connections foreach (var c in State.Instance.Clients) { try { c.Disconnect(false); } catch {} } State.Instance.RemoveAllClients(); try { if (OnStop != null) { OnStop.Invoke(this, null); } } catch {} }
// Stop the server public void Stop() { // Stop the server and release resources _closed = true; try { _tcp.Server.Close(); _tcp.Stop(); } catch (Exception) { if (Debugger.IsAttached) Debugger.Break(); } try { _broadcaster.StopBroadcasting(); } catch (Exception) { } // Submit end game report try { var c = new ApiClient(); var dcUsers = State.Instance.DcUsers.ToArray(); var req = new PutGameCompleteReq(State.Instance.Engine.ApiKey, State.Instance.Engine.Game.Id.ToString(), dcUsers); c.CompleteGameHistory(req); } catch (Exception e) { Log.Error("Disconnect Error reporting disconnect", e); } // Close all open connections foreach (var c in State.Instance.Clients) { try { c.Disconnect(false); } catch { } } State.Instance.RemoveAllClients(); try { if (OnStop != null) OnStop.Invoke(this, null); } catch { } }
public void CompleteGameHistory(PutGameCompleteReq req) { var client = Client; var resp = client.PostAsJsonAsync("api/gamehistory/putgamecomplete", req).Result; }