MaxUpGenGros Posted February 26, 2013 at 04:46 PM Report #497089 Posted February 26, 2013 at 04:46 PM 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
HappyHippyHippo Posted February 26, 2013 at 04:49 PM Report #497091 Posted February 26, 2013 at 04:49 PM não há nada como um tutorial : http://docs.oracle.com/javase/tutorial/networking/sockets/index.html IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
MaxUpGenGros Posted February 26, 2013 at 05:10 PM Author Report #497098 Posted February 26, 2013 at 05:10 PM Este exemplo poderá ser usado para uma aplicação via wireless para receber dados como posição, velocidade,etc do host? FCoelho
HappyHippyHippo Posted February 26, 2013 at 05:30 PM Report #497101 Posted February 26, 2013 at 05:30 PM em qual das camadas se encontra as sockets ? e em qual é que se encontra a informação que pretendes ? 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 Portugol Plus
MaxUpGenGros Posted February 26, 2013 at 05:39 PM Author Report #497102 Posted February 26, 2013 at 05:39 PM (edited) 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? Edited February 26, 2013 at 05:42 PM by MaxUpGenGros FCoelho
HappyHippyHippo Posted February 26, 2013 at 05:44 PM Report #497103 Posted February 26, 2013 at 05:44 PM 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 Portugol Plus
MaxUpGenGros Posted February 26, 2013 at 05:50 PM Author Report #497104 Posted February 26, 2013 at 05:50 PM 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
HappyHippyHippo Posted February 26, 2013 at 05:55 PM Report #497105 Posted February 26, 2013 at 05:55 PM Esclarecendo, com os sockets consigo fazer o que pretendo certo? com o sockets consegues criar ligações de dados IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
MaxUpGenGros Posted February 26, 2013 at 06:02 PM Author Report #497106 Posted February 26, 2013 at 06:02 PM E para "decifrar" as informações que são enviadas nessas ligações o que uso? Tenho que usar os Datagram packets certo? FCoelho
SexPistolsPT Posted February 27, 2013 at 12:08 PM Report #497245 Posted February 27, 2013 at 12:08 PM Conheces Java RMI?
HappyHippyHippo Posted February 27, 2013 at 12:22 PM Report #497249 Posted February 27, 2013 at 12:22 PM 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 Portugol Plus
SexPistolsPT Posted February 27, 2013 at 12:35 PM Report #497252 Posted February 27, 2013 at 12:35 PM 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.
MaxUpGenGros Posted February 27, 2013 at 04:34 PM Author Report #497282 Posted February 27, 2013 at 04:34 PM (edited) 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 Edited February 27, 2013 at 04:33 PM by MaxUpGenGros FCoelho
HappyHippyHippo Posted February 27, 2013 at 04:42 PM Report #497284 Posted February 27, 2013 at 04:42 PM 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 Portugol Plus
MaxUpGenGros Posted February 27, 2013 at 04:42 PM Author Report #497285 Posted February 27, 2013 at 04:42 PM Ok.. Obrigado. FCoelho
Rui Carlos Posted February 27, 2013 at 07:04 PM Report #497305 Posted February 27, 2013 at 07:04 PM 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. Rui Carlos Gonçalves
SexPistolsPT Posted March 10, 2013 at 10:48 PM Report #498696 Posted March 10, 2013 at 10:48 PM 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
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now