public void Handle(Connection connection, Data dato) { if (connection.Name == Connection.UNKNOWN) { DeveicePayloadFrameDecoded tmp = new DeveicePayloadFrameDecoded(); tmp.Parse(dato.Payload.Message); connection.Name = tmp.DeviceId; } //si no tengo la conexion mapeada, la guardo if (!SingletonDeviceConnection.GetInstance().IsConnected(connection.Name)) { SingletonDeviceConnection.GetInstance().AddDevice(connection); } Console.WriteLine("[{0}] connection owner: {1} ; The data: {2} ", DateTime.Now, connection.Name, dato.ToString()); switch (dato.OpCode) { case OpCodeConstants.REQ_SEND_STATUS_REPORT: //viene el status de un dispositivo CommandREQStatusReport(connection, dato); break; case OpCodeConstants.RES_SEND_FAILURE_REPORT: //viene una Alarma de falla de un dispositivo CommandREQFailureReport(connection, dato); break; default: break; } }
public void Logout(Connection clientConnection) { log.InfoFormat("Desconectando el Dispositivo {0}", clientConnection.Name); Console.WriteLine("Desconectando el Dispositivo {0}", clientConnection.Name); SingletonDeviceConnection.GetInstance().RemoveDevice(clientConnection.Name); }