Remover objetos de entrada mais especializados do Java , um objeto InputStream permite trabalhar com dados em nível de byte de um determinado recurso . É, no entanto , só é capaz de ler em um arquivo estático de dados. Se você quiser usar os dados de outro projeto em execução Java em um objeto InputStream , você tem que usar uma estrutura de rede para recuperar os dados antes de armazená-lo no InputStream . InputStream vs Sockets Rede
Quando você deseja obter dados a partir de um projeto em execução em um objeto InputStream , você primeiro precisa incorporá-lo dentro de um quadro de tomadas de rede. Um dos projetos atua como um servidor , em que você implementar um objeto ServerSocket , que escuta para conexões de entrada em um determinado número de porta da máquina. O outro projeto , o cliente , cria um socket que vai ligar para o número da porta e abrir um stream.
Reading Dados
Uma vez que os dois projetos de estabelecer uma conexão, eles vão se revezar passando por uma seqüência predeterminada pelo qual um programa envia dados e para trás através do socket. O projeto de envio de dados pode usar objetos como PrintWriter para enviar dados através do socket , eo outro projeto utiliza um objeto BufferedReader para receber os dados . Você pode armazenar os dados que você está recebendo em um objeto InputStream por instanciar um objeto dentro de sua InputStreamReader BufferedReader .
Erros
Qualquer número de coisas podem dar errado quando estiver a transferir dados entre os projetos através de uma conexão socket. Um projeto ou o outro pode de repente perder a conectividade de rede ou você poderia ter um bug em seu código de conectividade. Se o seu projeto encontra um problema quando se está a tentar enviar ou receber dados, ele será incapaz de recuperar e irá falhar. Por esta razão, Java requer que você use " tentar" e declarações "pegar" sempre que você está escrevendo as operações de soquete.
Fechando córrego
Do ponto de vista técnico , não há nada para impedi-lo de sair de uma conexão socket para outro projeto aberto para toda a duração do seu programa. Boa estilo de programação , no entanto, exige que você fecha a conexão de soquete do lado do cliente com o " close () ". Método de objeto , uma vez que você terminar de transmitir seus dados. Isso libera os recursos do seu programa cliente está gastando na manutenção do soquete, e é cortês para o servidor que também dedica poder de processamento à tomada enquanto ele estiver aberto.
< Br >