Ler a hora da rede GSM? Isso é possivel?

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.