Sugestões para comunicação de dispositivos móveis  XML
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Autor Mensagem
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Dae Pessoal!

Gostaria de uma sugestão.

Farei um "MSN" onde os clientes são dispositivos móveis (pda, celular, etc), usando j2me.
O servidor ficará em um pc normal.

O que vocês acham melhor: Fazer a comunicação cliente/servidor com protocolo HTTP ou Socket? ( Ou outro?)

Valeu!
Até mais!
boone
JWizard
[Avatar]

Membro desde: 21/09/2003 16:01:35
Mensagens: 2140
Offline

Jean_Utf wrote:Dae Pessoal!

Gostaria de uma sugestão.

Farei um "MSN" onde os clientes são dispositivos móveis (pda, celular, etc), usando j2me.
O servidor ficará em um pc normal.

O que vocês acham melhor: Fazer a comunicação cliente/servidor com protocolo HTTP ou Socket? ( Ou outro?)

Valeu!
Até mais!


Socket é o mais apropriado, por questões de tráfego baixo, custo da transmissão,etc.

Se vc é newbie e tem dinheiro para jogar fora ou não se importa com seus usuários e quer facilidade no desenvolvimento, vai de HTTP.
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Não entendi porque HTTP eu "jogaria dinheiro fora" e socket não.
No caso de socket, teria que implementar a camada de segurança, criptografia dos dados... por isso
acho que seria mais interessante o HTTP.

O que acha?
malves_info
JavaEvangelist
[Avatar]

Membro desde: 17/08/2007 14:17:59
Mensagens: 361
Offline

Você utilizar conexão HTTP com GPRS seria econômico sem problemas. Co Socket também mas você teria um trabalho maior. Eu já utilizei muito HTTP e sempre tive boa economia, mas é claro em conexão GPRS.


[]'s
[Email] [MSN]
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

O objetivo são dispositivos que tenham Wifi, ou seja, não utilizaria GPRS nem 3G... senão realmente
ficaria inviável, pelo menos por enquanto. O chat é idiota, numa rede local mesmo.
boone
JWizard
[Avatar]

Membro desde: 21/09/2003 16:01:35
Mensagens: 2140
Offline

Jean_Utf wrote:Não entendi porque HTTP eu "jogaria dinheiro fora" e socket não.
No caso de socket, teria que implementar a camada de segurança, criptografia dos dados... por isso
acho que seria mais interessante o HTTP.

O que acha?


Com Socket vc só trafega o que quer. Usando HTTP, vc tem mais bytes inerentes ao protocolo para fazer a mesma coisa.
Operadoras cobram de diversas maneiras. Uma cobram por Kb e se vc tiver que enviar 5 bytes para o seu servidor, será cobrado por 1 Kb enviado. Acha isto justo ? Neste cenário, vc usando Socket só transmite 5 bytes, continua sendo cobrado por 1 Kb, mas sua cota junto a operadora é usada de forma melhor, evitando estourá-la por mais tempo, pois quando ocorre o estouro, ou vc é sobretaxado ou o serviço de dados é cortado.

Num cenário diferente, onde vc é cobrado por bytes trafegados, novamente o Socket é melhor, pq vc só paga os 5 bytes e não os 345 bytes de uma conexão HTTP (por exemplo).

Ainda quer ir de HTTP ? Como eu disse, se eu quissesse otimizar esta comunicação, deixando-a + rápida e ter menos custo, eu iria de Socket.
Se eu só estou pensando em mim e quero facilidade e tenho dinheiro, vou de HTTP.

Vc já parou para estudar como o MSN é internamente ? Ele não usa HTTP, mas sim socket com um protocolo próprio...pq será ?
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Exatamente... to estudando o protocolo do msn pra esclarecer essas dúvidas em http://www.hypothetic.org/docs/msn/.
Como eu disse.. o tráfego de dados não será cobrado, porque os dispositivos terão wifi e o ambiente será local..
portanto esse argumento, no meu caso, é descartado.
O ponto que estou pensando agora é a questão de segurança.. ainda não cheguei nesse ponto na documentação do MSN...
não sei ainda como ela encripta os dados.
Caso seja simples, farei em socket mesmo... pois acho que o desempenho é melhor realmente.
JavaES
Java Ninja
[Avatar]

Membro desde: 16/03/2008 22:34:12
Mensagens: 298
Localização: Vitória-ES
Offline

Usa Socket, é mais apropriado para este caso... irá trafegar menos dados e se não me engano, por conta disos será um pouco mais rápido. Você irá trafgar exclusivamente os dados que você está usando.

http://www.insidemobile.com.br/

Grandes homens fazem o impossível por que eles tentam o impossível.
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Realmente. Estive analisando o msn e ele usa socket mesmo. Baixei o wireshark pra monitar
a rede e vi que o Msn não encripta os dados, ou seja, é possível ver o que as pessoas conversam.
Enfim, criarei um protocolo e farei em socket mesmo.

Valeu pelas dicas.
Abrass
Fael Rock
Thread.start()

Membro desde: 10/03/2009 13:23:07
Mensagens: 30
Offline

Pessoal, mas como fica a segurança usando Socket?
boone
JWizard
[Avatar]

Membro desde: 21/09/2003 16:01:35
Mensagens: 2140
Offline

Fael Rock wrote:Pessoal, mas como fica a segurança usando Socket?


Fica do mesmo jeito como se vc estivesse usando HTTP, ou seja, cabe a você cuidar disto.
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Quem já desenvolveu algo parecido, tem alguma recomendação?
Alguma API para isso, ou tem de ser no bração mesmo?
boone
JWizard
[Avatar]

Membro desde: 21/09/2003 16:01:35
Mensagens: 2140
Offline

Jean_Utf wrote:Quem já desenvolveu algo parecido, tem alguma recomendação?


Tenho sim: Use o campo de pesquisa do fórum e digite "criptografia" e clique em OK.
Após isto vai encontrar vários posts onde citam o Boun.....(o resto é com vc.Faça o que te indiquei)
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

haha... você deve trabalhar com suporte a usuários..

Valeu pelas dicas.. foram muito úteis... agora mãos a obra.. até mais!
boone
JWizard
[Avatar]

Membro desde: 21/09/2003 16:01:35
Mensagens: 2140
Offline

Jean_Utf wrote:haha... você deve trabalhar com suporte a usuários..

Valeu pelas dicas.. foram muito úteis... agora mãos a obra.. até mais!


hahaha digo eu...você deve ser um destes usuários que a gente disponibiliza as funcionalidades e vocês não usam...hahaha (agora ri mesmo).

 
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Ir para:   
Powered by JForum 2.1.8 © JForum Team