private void WS_accept_reject(bool accept) { PairingClientMsgs _msgs = new PairingClientMsgs { pairing_mode = new pairing_mode { enabled = false } }; if (accept) { _msgs.accept = new accept_reject { device_id = m_pairingRequest.device_id }; } else { _msgs.reject = new accept_reject { device_id = m_pairingRequest.device_id }; } string _json = JsonConvert.SerializeObject(_msgs); m_webSocket.Send(_json); }
protected override void onMessage(object sender, WebSocketSharp.MessageEventArgs e) { try { if (e.Type != WebSocketSharp.Frame.Opcode.TEXT) { throw new FormatException("only accept text msg"); } log4net.LogManager.GetLogger(GetType()).Debug(e.Data); PairingClientMsgs msg = null; try { msg = JsonConvert.DeserializeObject <PairingClientMsgs>(e.Data); } catch (Exception err) { throw new FormatException(err.Message, err); } if (msg.subscribe != null && msg.subscribe.pairing) { addToSubscribers(); } if (msg.pairing_mode != null) { raisePairingModeChangingEvent(msg.pairing_mode.enabled); } if (msg.accept != null) { raiseNewDeviceAcceptingEvent(msg.accept.device_id); } if (msg.reject != null) { raiseNewDeviceRejectingEvent(msg.reject.device_id); } } catch (FormatException err) { log4net.LogManager.GetLogger(GetType()).Warn(err.Message, err); Stop(WebSocketSharp.Frame.CloseStatusCode.INCORRECT_DATA, "Msg format error"); removeFromSubscribers(); } catch (Exception err) { log4net.LogManager.GetLogger(GetType()).Warn("Error handling income msg: " + ((e.Type == WebSocketSharp.Frame.Opcode.TEXT) ? e.Data : e.RawData.ToString()), err); Stop(WebSocketSharp.Frame.CloseStatusCode.SERVER_ERROR, "server failed to handle data"); removeFromSubscribers(); } }
private void WS_close_byUser() { PairingClientMsgs _msgs = new PairingClientMsgs { pairing_mode = new pairing_mode { enabled = false } }; string _json = JsonConvert.SerializeObject(_msgs); m_webSocket.Send(_json); }
private void WS_subscribe_start() { PairingClientMsgs _msgs = new PairingClientMsgs { subscribe = new subscribe { pairing = true }, pairing_mode = new pairing_mode { enabled = true } }; string _json = JsonConvert.SerializeObject(_msgs); m_webSocket.Send(_json); }