Olá pessoal,
estou qeurendo fazer um projeto ai que envolve UDP, eu sei fazer as conexoes UDP atraves de DatagramPacket e tal… gostaria de saber se alguem tem alguma experiencia maior nessa parte… pois o projeto que quero desenvolver é um pouco mais de baixo nível.
Se alguem se habilitar podemos conversar!
Até mais!
O projeto que estou pensando em fazer trata-se de conexão UDP para SuperWaba, iplementar um package que faça isso… No caso seria para transferencia multimidia para palms… ainda não to muito por dentro do assunto… mas vou começar a pesquisar sobre… dai queria trocar umas idéias com pessoas mais avançadas na questão de conexão criando os connections diretamente para implementar um pacote UDP…
Não sei se consegui ser bem claro…
Bom, até mais!
O UDP é realmente tão simples como parece. É um ‘telegrama’ que roda na camada 4. Para ilustrar, vejamos o caso do jogo Quake – Todo o trabalho pesado de transformação 3-D e renderização é feito no navegador. O TCP, baseado em conexão, é usado para configuração e dados lentos raramente atualizados. O servidor mantém a posição dos objetos e a lógica do jogo. O UDP é usado para o tráfego em tempo real de informações, tais como o movimento de joystick e mudança de coordenadas, em pacotes muito pequenos com a consequente economia de banda. Como o UDP não garante a entrega do pacote, o sistema tem que tomar as providências para evitar descontinuidades e paradoxos.
Bom acho que devo ser mais claro…
Quanto ao protocolo UDP eu o conheço, minha faculdade eh de telecomunicações… bom o que eu estou querendo… eh saber se alguem ja implementou algum tipo de connection, não estou falando de algo como Connection con = new Connection()…
quero dizer em implementar a classe Connection… ou algo parecido… alguem que tenha alguma experiencia nisso…
Até mais!
Não sei se entendi bem aonde você quer chegar. Para mim as classes UDP do Java são básicas, elas são mero mapeamento no código nativo da máquina-alvo. O miolo de uma aplicação UDP pode ser ilustrado com os dois programetes a abaixo. Acho que a única alternativa seria criar esses métodos nativos se eles não existirem.
// programa transmissor
import java.net.*;
class teste
{
public static void main(String args []) throws Exception
{
while(true)
{
try
{
// envia um datagrama ao destino
//
byte [] buf = “teste”.getBytes();
InetAddress hipersoft = InetAddress.getByName(“200.200.200.200”);
DatagramPacket agente = new DatagramPacket(buf, buf.length, hipersoft, 5353);
DatagramSocket socket = new DatagramSocket();
socket.send(agente);
socket.close();
}
catch(Exception e) {}
Thread.sleep(10000);
}
}
}
// programa receptor
import java.net.*;
class teste
{
public static void main(String args [])
{
…
(new Parabolica()).start();
…
}
}
/**
- Uma classe para receber datagramas.
*/
class Parabolica extends Thread
{
private PrintStream out;
/**
- Construtor padrão.
*/
public Parabolica() throws IOException
{
}
public void run()
{
try
{
DatagramPacket packet = new DatagramPacket(new byte[5], 5);
DatagramSocket socket = new DatagramSocket(5353);
while(true)
{
socket.receive(packet);
System.out.println(
"Site em " + packet.getAddress().getHostName() + ": " +
new String(packet.getData(), 0, packet.getLength()) + “\r\n”);
out.flush();
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}
Lembrando que UDP é conectionless, diferente do TCP.
Caso você precise, tenho uns fragmentos de uma emulação HTTP.
Espero ter ajudado em algo. Tchau.
Ai cara valew pela idéia…
Bom, mas não é bem isso que eu quero… seguinte Manja essa classe DatagramPacket e DatagramSocket, então… eu quero implementar essas classes para SuperWaba pois ainda não existe, por isso queria saber se alguem sace de algo mais baixo nível, ou seja como implementar a classe para udp e não simplesmente usar ela… Mas ainda nãoo estudei muito sobre o assunto… vou estudar quem sabe as coisas se esclarecem mais tempo!
Até mais!
Então você quer implementar um TCP/IP Stack para o Palm. Será que já não existe isso e a roda não precisa ser reinventada? Se for realmente necessário isso, respire fundo e prepare-se para trabalho pesadíssimo. Comece lendo o catatau de RFC’s pertinentes. Busque inspiração no site abaixo:
http://www.dunkels.com/adam/uip/
Obs. A roda pode estar em Calisto, uma lua de Júpiter. Dê uma olhada no link abaixo:
http://www.rafaelaroca.hpg.ig.com.br/dev/
Opa…
ai começamos a falar a mesma lingua… pois é creio que o trabalho vai ser pesadíssimo por isso pedi a ajuda do povo aqui, mas parece qeu só vc se ahbilitou, então pretendo trocar mais idéias contigo… =)
Bom, a roda ainda não foi inventada… o SuperWaba possui sim implementaçao de TCP/IP mas nao de UDP e é nisso qeu qeuro trabalhar…
Muito obrigado pelos links, vou precisar sim…
espero entrar em contato em breve com mais novidades =)
Obrigado novamente!
Até mais!
oque eh superWaba ???
heheh aproveitei que voces estavam falando nisso para perguntar…
eu estou comecando a trabalhar com UDP agora… e isso talvez seja a solucao de um possivel problema