| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 08:26:52
|
matheus.nani
Debugger
Membro desde: 03/05/2011 11:15:55
Mensagens: 65
Localização: Jundiai - SP
Offline
|
Bom dia galera...
Andei dando uma olha aqui no Forum e não achei nada parecido então resolvi criar este topico..
Estou criando um socket para fazer a conexão com um rastreador.. esse socket sera um aplicativo Desk..(Swing) que ficara rodando 24x7 em um servidor, e fara a conexão com o rastreador.. e recebera as informações que o mesmo(rastreador) me enviar.
a duvida é.. em todos os exemplos que vi TODOS. sempre tem a classe (servidor) que é aque estou criando e a classe (client) essa eu não vou criar porque o rastreador sera meu cliente.. ai está o como ? como posso informar ao meu servidor que o client X enviou X informação..
sem criar uma classe Cliente..
um exemplo...
meu socket irá abrir uma conexão na porta (7777)
e ficara escutando para ver se tem algumm client para fazer a comunicação.
o rastreador(client) está configurado em um IP qualquer e porta 192.66.191.96 : 7777
mais para mim receber informações do cliente tenho que aceitar um cliente antes..
está variavel client tbm tera que ser instanciada na classe cliente
no meu caso não terei a classe cliente para informar ao servidor de Qual cliente ele deve receber infiormações como poderia fazer isto ? alguma ideia?
This message was edited 1 time. Last update was at 07/02/2012 08:02:40
|
"É melhor lançar-se à luta em busca do triunfo, mesmo expondo-se ao insucesso, do que ficar na fila dos pobres de espírito, que nem gozam muito nem sofrem muito, por viverem nessa penumbra cinzenta de não conhecer vitória e nem derrota" Franklin D. Roosevelt |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 08:47:36
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
Deixa eu ver se entendi direito: o seu rastreador não tem a capacidade de se conectar via socket a um servidor? Então ele não pode agir como um cliente. O que o seu rastreador tem? Um endereço IP? Uma porta (socket) para enviar ao informações? Se for isto, então tem que fazer o contrário: o seu programa tem que conectar no rastreador. Ai ele passaria a ser um cliente do rastreador. Se for assim, o mais correto seria pensar que o seu programa é que vai coletar as informações no rastreador, e não o rastreador que envia a s informações para o seu programa. Teria que ser um esquema de polling.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 09:04:22
|
matheus.nani
Debugger
Membro desde: 03/05/2011 11:15:55
Mensagens: 65
Localização: Jundiai - SP
Offline
|
deixa eu explicar sendo mais objetivo.. desculpe..
O meu rastreador tem capacidade de se conectar com um socket.. ele pode ser configurado posso informar qual IP e qual porta ele vai utilizar..
assim..
mais ou menos assim...
ali na linha 02 tenho que colocar o RASTREADOR.getInputStream(); nos programas "convencionais" eu sei qual é meu cliente pq eu crio ele já na minha duvida eu não vou criar e sim receber um cliente qualquer porque não sei qual cliente é que está se conectando ao servidor. entendeu ?
This message was edited 1 time. Last update was at 06/02/2012 09:05:17
|
"É melhor lançar-se à luta em busca do triunfo, mesmo expondo-se ao insucesso, do que ficar na fila dos pobres de espírito, que nem gozam muito nem sofrem muito, por viverem nessa penumbra cinzenta de não conhecer vitória e nem derrota" Franklin D. Roosevelt |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 09:25:22
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
Não estou entendendo nada. Está bem confuso para mim. Não programei com socket, mas pelo o que eu vi é só criar criar um socket no servidor e ficar "ouvindo" a porta:
Configura o rastreador para conectar no IP do servidor na porta 7777. Não é isto?
Agora se o seu cenário é que você tem vários rastreadores e precisa saber qual rastreador se conectou, bem ai tem que ver se as informações que o rastreador envia não contém esta informação. Ou poderia pegar a informação do IP do rastreador e mapear por isto.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 09:44:01
|
matheus.nani
Debugger
Membro desde: 03/05/2011 11:15:55
Mensagens: 65
Localização: Jundiai - SP
Offline
|
Correto você abri a conexão assim:
porem para você receber as informações do seu cliente você fez isso:
e para você conseguir receber as informalções de (s) que é seu cliente..
você teve que criar uma classe cliente e fazer isso.
no meu caso eu não sei quem é meu cliente.. porque o meu cliente é o rastreador e eu não sei qual a variavel ou objeto vou utilizar para fazer isso
|
"É melhor lançar-se à luta em busca do triunfo, mesmo expondo-se ao insucesso, do que ficar na fila dos pobres de espírito, que nem gozam muito nem sofrem muito, por viverem nessa penumbra cinzenta de não conhecer vitória e nem derrota" Franklin D. Roosevelt |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 09:51:56
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
Agora entendi a sua dúvida. A classe Cliente é para rodar na máquina cliente. No servidor não vai existir uma classe Cliente. Na máquina do servidor só precisa criar uma classe Servidor e ficar ouvindo a porta e "pegando" os dados enviados. O código que eu passei acima deveria ser suficiente.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 10:20:45
|
matheus.nani
Debugger
Membro desde: 03/05/2011 11:15:55
Mensagens: 65
Localização: Jundiai - SP
Offline
|
Então.. não seria muito suficiente não.. porque o rastreador criaria um objeto com todas as informações e eu teria que ter um ponto em "comum" pra que os dois possam conversar. o rastreador é programado em C como faço pra ligar uma plicação java com C ? só com webServices.
alguem ai saberia alguma alternativa ?
ATT.
|
"É melhor lançar-se à luta em busca do triunfo, mesmo expondo-se ao insucesso, do que ficar na fila dos pobres de espírito, que nem gozam muito nem sofrem muito, por viverem nessa penumbra cinzenta de não conhecer vitória e nem derrota" Franklin D. Roosevelt |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 12:08:45
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
Poderia implementar em CORBA, mas não sei se vai ser "over" demais para o seu caso. Tem que ver o quanto é complicado as mensagens trocadas e que tipo de tratamentos são necessários em casos de erros e se as mensagens são todas sincronas. Web Services dependendo do caso é "custoso" demais.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/02/2012 13:21:19
|
soaresinfo
JavaEvangelist
![[Avatar]](/images/avatar/a424ed4bd3a7d6aea720b86d4a360f75.png)
Membro desde: 27/07/2003 15:40:13
Mensagens: 373
Localização: Uberlândia/MG
Offline
|
Pense nesse problema como um aplicativo de chat, como você identifica cada pessoa no chat? Não é pelo usuário? Quando o rastreador se conectar, ele precisa enviar um identificador, aí você atribui essa identificação ao IP para seu aplicativo gerenciar o que for necessário.
|
Anuncie aqui! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/02/2012 08:02:01
|
matheus.nani
Debugger
Membro desde: 03/05/2011 11:15:55
Mensagens: 65
Localização: Jundiai - SP
Offline
|
Resolvi aqui... já consegui me conectar com o rastreador..e estou recebendo suas mensagens.. VLw pela ajuda.. utilizei sockets mesmo... funcionou !
|
"É melhor lançar-se à luta em busca do triunfo, mesmo expondo-se ao insucesso, do que ficar na fila dos pobres de espírito, que nem gozam muito nem sofrem muito, por viverem nessa penumbra cinzenta de não conhecer vitória e nem derrota" Franklin D. Roosevelt |
|
|
 |
|
|