Ir para o conteúdo
MaxUpGenGros

Duvida em receber socket de servidor

Mensagens Recomendadas

MaxUpGenGros

Boa tarde,

Estou a desenvolver um projecto que tem como base a comunicação entre duas máquinas, um host e um client(pc), e estou com algumas dúvidas de qual o caminho a seguir para conseguirmos receber dados enviados pelo host para o client através de uma determinada porta.

Tenho que ter um DatagramSocket, e alguma função para conseguir receber os dados pretendidos certo?

Agradecia alguma ajuda,

Obrigado.


FCoelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaxUpGenGros

Este exemplo poderá ser usado para uma aplicação via wireless para receber dados como posição, velocidade,etc do host?


FCoelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

em qual das camadas se encontra as sockets ?

e em qual é que se encontra a informação que pretendes ?

prim02.gif

sockets é para controlo de ligação ao nível 4 (transport), o que tu queres é ter informação do nível 1 e/ou 2 ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaxUpGenGros

Basicamente , eu tenho um robô que é controlado via wireless, já consigo ligá-lo, movê-lo,etc.

Neste momento estou na fase em que tenho que receber e tratar os dados que ele envia, tipo velocidade, posição, nivel de bateria,entre outros.

Está a dizer que não posso usar sockets para isso?

Editado por MaxUpGenGros

FCoelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

isso podes ... mas o que podias fazer era explicar com clareza o que pretendes.

quando dizes :

Este exemplo poderá ser usado para uma aplicação via wireless para receber dados como posição, velocidade,etc do host?

uma pessoa pensa que estás a referir-te a dados referentes à ligação wireless ...

mas agora vens dizer :

Basicamente , eu tenho um robô que é controlado via wireless, já consigo ligá-lo, movê-lo,etc.

Neste momento estou na fase em que tenho que receber e tratar os dados que ele envia, tipo velocidade, posição, nivel de bateria,entre outros.

que não tem nada haver nem com o wireless, muito menos com a ligação ...

---------

uma ligação de dados serve somente para isso : uma ligação de dados

que dados envias, isso já é contigo


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaxUpGenGros

Peço desculpa. :(

Só que eu nunca falei em nada disto, e estou a ter bastantes dificuldades em prosseguir, pois não estou mesmo a conseguir ver os dados que recebo.

Esclarecendo, com os sockets consigo fazer o que pretendo certo?

Enviar comandos ao robô, e receber e tratar os dados que ele me envia, mais especificamente, dados como a posição dele, a velocidade,etc.

Mais para a frente vou ter de tratar a imagem que ele envia, mas isso ainda não é para já.

Deu para perceber mais ou menos?

Peço desculpa se estou a ser pouco esclarecedor.

Já agora o robô é o ArDrone.


FCoelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaxUpGenGros

E para "decifrar" as informações que são enviadas nessas ligações o que uso?

Tenho que usar os Datagram packets certo?


FCoelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Conheces Java RMI?

queres explicar Remote Method Invocation a uma pessoa que não só não sabe para que serve uma socket como nem se deu ao trabalho de ler o tutorial que lhe foi apresentado ?

boa sorte ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
SexPistolsPT

Pois, da mesma forma que secalhar, perguntar se os dados que está a enviar são Serializable não é de fácil percepção para ele. Mas é importante perguntar, porque se não forem, é normal que do outro lado não os esteja a conseguir ler.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MaxUpGenGros

queres explicar Remote Method Invocation a uma pessoa que não só não sabe para que serve uma socket como nem se deu ao trabalho de ler o tutorial que lhe foi apresentado ?

boa sorte ...

HappyHippo, membros como tu não ajudam de certeza quem aparece aqui com dúvidas, e percebe pouco do que está a falar.

Membros com arrogância e que pensam que sabem tudo e mais alguma coisa dispenso.

Se não queres responder agradeço que não voltes ao meu tópico e deixes responder á vontade quem estiver disponivel para me tentar ajudar.

Obrigado.

O meu problema não está em criar uma simples conexão entre o cliente e o servidor(para isso existe "n" exemplos na internet), a minha questão é um bocado mais complexa do que isso(penso eu).

Por exemplo:

byte[] buf_snd = {0x01, 0x00, 0x00, 0x00};
DatagramPacket packet_snd = new DatagramPacket(buf_snd, buf_snd.length, inet_addr, ARDrone.NAVDATA_PORT);

Não sabendo o pacote que estou a receber, como o posso receber?

Penso que no código em cima estará uma possivel solução para o meu problema, mas não consigo percebê-lo.

Sex Pistols não conheço RMI, mas vou dar uma olhada nisso.Obrigado

Editado por MaxUpGenGros

FCoelho

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

agradeço que não voltes ao meu tópico e deixes responder á vontade quem estiver disponivel para me tentar ajudar.

foi perguntado como fazer ligações de dados, ao qual foi respondido com um tutorial da Oracle

se não queres que responda, sim senhora, não voltarei a responder


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Precisas de saber qual é a "linguagem" usada nos pacotes que vais receber, isto é, qual é a linguagem que o teu robô fala.

Em princípio vais receber uma sequência de bytes. Depois a questão que se coloca é qual o seu significado. Mas aqui não tens outra hipótese para além de procurar documentação sobre o produto que tens, para saberes interpretar os bytes.

Quando envias comandos tens o mesmo problema. Precisas de saber que linguagem o robô fala para saber como lhe transmitir informação.

Em princípio receber dados não é assim tão diferente de enviar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
SexPistolsPT

Olá MaxUpGenGros,

vi ali em cima ARDrone. Estás a trabalhar com um Drone? Um colega meu na Faculdade teve a preparar um ARDrone para a futurália e conseguiu muito bem utilizando Python.

Quando trabalhas com Sockets, no fundo tu não sabes que pacote estás a receber. Tens um InputStream que te está a ler os pacotes que chegam ao Socket, e tu só tens que voltar a "pô-los" como foram enviados. É aí que entra a vantagem de utilizares uma linguagem OO. Envias informação com toByteArray(info) e recuperas do outro lado com um arrayToObject(info).

Cumprimentos,

Hugo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.