Protocolo de rede em Java (URGENTE)

2 respostas
S

Oi pessoal,

estou precisando fazer um protocolo de rede em java, mas não sei como… não é uma coisa tão complexa, neste caso, é você fazer a comunicação entre dois programas, num mesmo computador, como por exemplo enviar um arquivo .txt de um programa para outro, só isso, é como se fosse uma simulação. Gostaria de saber se alguém já fez algo parecido que pudesse me ajudar. Já andei olhando na API e achei uma classe Pipe e a interface ByteChannel, tive algumas idéias, mas muito superficial ainda. Conto com a ajuda de vocês. :wink:

atenciosamente,
Sabrina de F. Souto.

2 Respostas

V

Se é o que entendi você pode fazer uma comunicação entre dois porgramas através de sockets o java possui duas classes que podem auxiliar a fazer isto ServerSocket e Socket. Mas se sua intensão é realmente criar um protocolo de rede recomento estudar mais a fundo com funciona uma rede e implementar-lo diretamente. :cool:

M

Exato…

Voce pode estar criando um ServerSocket em cada uma das maquinas e ouvindo em uma porta (para que ambas as maquinas estejam aptas a receber pedidos de conexao na porta X)…

Assim qualquer um dos hosts pode dar a louca de enviar o arquivo pro outro a hora que quiser…

Tendo um host “ouvindo” na porta (ServerSocket) voce no outro host abre um Socket naquela porta do outro host…e se comunica usando streams.

A classe Socket te retorna um stream, a partir dali voce faz o que quiser…
Pra enviar qualquer tipo de dado, voce precisa de um protocolo (senao quando sabera que o arquivo acabou? etc etc)…o protocolo voce pode usar sua imaginacao…

Enfim…imagine computador A e B

A = ServerSocket na porta 3000
B = conecta Socket na porta 3000 do A

B > A “NEW FILE”
A > B “READY”
B > A “ddkklçjsdlfdkljjkdjksdlf” << conteudo do arquivo
B > A “END_OF_FILE”
A > B “OK”

etc

Criado 12 de agosto de 2004
Ultima resposta 16 de set. de 2004
Respostas 2
Participantes 3