Sugestões para comunicação de dispositivos móveis

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!

[quote=Jean_Utf]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![/quote]

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.

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?

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

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.

[quote=Jean_Utf]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?[/quote]

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á ? :roll:

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.

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.

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

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.

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

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)

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

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

[quote=Jean_Utf]haha… você deve trabalhar com suporte a usuários…

Valeu pelas dicas… foram muito úteis… agora mãos a obra… até mais![/quote]

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).

haha… só encerrando o tópico… já havia sim pesquisado sobre criptografia…
mas como isso é um fórum… cujo objetivo é discutir sobre determinado assunto
e compartilhar experiências, resolvi perguntar.

Ainda bem que a grande maioria dos desenvolvedores que participam dos fóruns
tem como objetivo disseminar conhecimento e facilitar a busca por soluções e não
tentar mostrar que sabe mais que o outro, com arrogância.

Até a próxima pergunta.

[quote=Jean_Utf]haha… só encerrando o tópico… já havia sim pesquisado sobre criptografia…
mas como isso é um fórum… cujo objetivo é discutir sobre determinado assunto
e compartilhar experiências, resolvi perguntar.

Ainda bem que a grande maioria dos desenvolvedores que participam dos fóruns
tem como objetivo disseminar conhecimento e facilitar a busca por soluções e não
tentar mostrar que sabe mais que o outro, com arrogância.

Até a próxima pergunta.
[/quote]

Seu argumento é fraco.
Se havia pesquisado, encontraria na primeira página dos resultados da busca a tua resposta, portanto vc não procurou direito.
Esta funcionalidade do site é justamente para coibir os usuários de abrir post a toa se a dúvida pode já ter sido respondida por outra pessoa, incluindo EU.
Se te indicar para usar a função busca é ser arrogante, vou te chamar de preguiçoso então, já que é para qualificar quem pede a ajuda e quem oferece. Está bom assim ?
Barbaridade, você e alguns poucos aqui estão mal-acostumados a quererem tudo na mão.
Fórum é para compartilhar, não significa que é para dar pronto. Uma indicação, direcionamento ou o que valha, já é ajuda. Parece que vocês só entendem ajuda como “tem código pronto aí pra me passar ?”.

Opinião (sobre socket e http) e sugestão (sobre criptografia) não me
parecem querer algo pronto… apenas indicar um caminho, porque o resto eu faço.

Errado é quem chega e pede: "Alguém tem algum código que criptografe uma mensagem socket pra me passar?"
Daí concordaria contigo.

[quote=boone][quote=Jean_Utf]haha… você deve trabalhar com suporte a usuários…

Valeu pelas dicas… foram muito úteis… agora mãos a obra… até mais![/quote]

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).

[/quote]

Creio que o objetivo do fórum é ajudar as pessoas da melhor forma possível. Acho que isso é mal de fórum viu, em qualquer fórum que você vá a primeira resposta da maior parte das pessoas é: Procura no google ou procure… Arrogância não leva a lugar nenhum… Você poderia ter dito apenas que não sabe :wink: seria mais bonito…

Você não leu deste o 1o post para dar esta opnião.
Perceba que sei sim do que falo e que se indiquei para ele usar a função de busca é pq eu fiz o que ele deveria ter feito !
E quando em outro post disse que a resposta esta na 1a página, isto era este indicativo.
Eu nunca dei alguma indicação errada ou disse “não sei”. Quando não sei, pode ter certeza que vc não verá post meu.