private void HandleHeartBeat(string msg) { try { HeartbeatObject hb = JsonConvert.DeserializeObject <HeartbeatObject>(msg, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All, Formatting = Formatting.Indented }); if (hb is HeartbeatObject) { _missedHeartBeats = 0; } } catch (Exception) { } }
private void SendHeartBeat() { if (_missedHeartbeats >= 5) { // reconnect Close(); return; } _missedHeartbeats++; IMessage hb = new HeartbeatObject() { HeartbeatData = "Heart Beat" }; string msg = JsonConvert.SerializeObject(hb, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All, Formatting = Formatting.Indented }); byte[] heartbeatBytes = Encoding.ASCII.GetBytes(msg); _heartBeatClient.BeginSend(heartbeatBytes, 0, heartbeatBytes.Length, 0, new AsyncCallback(HeartBeatCallback), null); }