Olá pessoal,
Eu tenho um celular velho da NOKIA que atualiza o horário (para o da rede GSM) toda vez que inicia.
Gostaria de saber se existe alguma maneira de requisitar o horário da rede GSM, mesmo se for através de código nativo (para Symbian, por exemplo).
A nossa aplicação precisa estar com o relógio correto (pode ter alguns minutos de diferença, nada mais que isso).
Alguém sabe se isso é possível e por onde começar?
Obrigado
[quote=pen_fold_uk]Olá pessoal,
Eu tenho um celular velho da NOKIA que atualiza o horário (para o da rede GSM) toda vez que inicia.
Gostaria de saber se existe alguma maneira de requisitar o horário da rede GSM, mesmo se for através de código nativo (para Symbian, por exemplo).
A nossa aplicação precisa estar com o relógio correto (pode ter alguns minutos de diferença, nada mais que isso).
Alguém sabe se isso é possível e por onde começar?
Obrigado[/quote]
Via J2ME não é possível, talvez em Symbian o seja.
Uma idéia seria sua aplicação de tempos em tempos, consultar um servidor seu via HTTP para pegar a hora dele, daí você compara com a do celular e vê se a diferença entre as duas está dentro de um intervalo aceitável (por exemplo, no máximo 5 minutos de diferença entre ambos).
Legal,
Mas o problema eh que nao queremos conectar a um servidor na internet, pois isso envolve custos para o cliente.
O ideal mesmo seria (se possivel) obter essa informacao pela rede.
Obrigado por responder
[quote=pen_fold_uk]Legal,
Mas o problema eh que nao queremos conectar a um servidor na internet, pois isso envolve custos para o cliente.
O ideal mesmo seria (se possivel) obter essa informacao pela rede.
Obrigado por responder[/quote]
Digamos que você vai fazer 24 requisições neste servidor, uma a cada 1 hora.
Sabendo que você irá usar SocketConnection para economizar até o talo nos bytes transferidos, pois seu cliente é mão de vaca, então em cada conexão você irá transferir apenas 4 bytes (HHMM).
Então por dia, você vai gastar: 24 x 4 = 96 bytes
Por mês (30 dias) = 2880 bytes (2,8 Kbytes)
Normalmente os planos de dados são por MB, onde você contrata uma cota mensal que pode gastar (Ex: 5 MB)
Considerando isto, sabemos então que mensalmente você não irá extrapolar o plano contratado.
Mesmo se vc passar a transferir a data tb, para a comparação entre celular e servidor ficar mais pecisa:
(DDMMAAHHMM) = 10 bytes x 24 = 240 por dia
Por mês (30 dias) = 7200 bytes (7 Kbytes)
Acha ainda que não dá ?
Valeu pela ajuda.
Mas tem ainda todo o overhead do IP (que também é computado), mas entendo seu ponto, não seriam muitos bytes transmitidos. No tipo de aplicação que temos (desconectado da internet), pedir para o usuário se conectar a rede é uma restrição muito grande.
Mas valeu pela idéia.
Você sabe se em Symbian da para pegar a hora da rede GSM? Se sim, tem alguma referência para indicar?
Obrigado
[quote=pen_fold_uk]Valeu pela ajuda.
Mas tem ainda todo o overhead do IP (que também é computado), mas entendo seu ponto, não seriam muitos bytes transmitidos. No tipo de aplicação que temos (desconectado da internet), pedir para o usuário se conectar a rede é uma restrição muito grande.
Mas valeu pela idéia.
Você sabe se em Symbian da para pegar a hora da rede GSM? Se sim, tem alguma referência para indicar?
Obrigado[/quote]
Você só é cobrado pelo tráfego, nada a ver com o encapsulamento IP.Uma vez a conexão estabelecida e havendo a troca de bytes entre as partes, daí vem a cobrança pela operadora…
Se vc pegar o exemplo do HTTP, vc paga os bytes referentes ao protocolo HTTP + os seus que trafego (no caso 4 = HHMM), pq o HTTP trafega sobre o Socket, por isto sugeri o SocketConnection como forma de tirar o HTTP da jogada e reduzir drasticamente o consumo.
Referente ao Symbian, como lhe disse em um post anterior, pode até haver este tipo de capacidade, mas não desenvolvo para Symbian, logo, não sou o expert que pode lhe dizer se lá daria ou não.