Ir ao conteúdo
  • Cadastre-se

Socket Java Cliente Servidor


EDMILTONCBA

Posts recomendados

Boa tarde!

Preciso da ajuda de vocês. Tenho uma aplicação onde o servidor recebe do cliente uma solicitação, e o servidor atende com a lista de determinado diretório do cliente, lembrando consegui fazer o cliente servidor que segue a baixo, está fazendo tudo beleza, só que tem um problema tenho que colocar isso em uma interface, onde tera que ter o campo para colocar o ip e a porta e também um campo onde mostrará os nomes dos arquivos do diretórios do cliente, alguém pode me ajudar com essa interface, segue código.

package SocketProva;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class SERVIDOR {

public static void main(String[] args) throws UnknownHostException, IOException {

Socket cliente = new Socket("localhost", 5678);
System.out.println("Conectado com o servidor");

//primeiro eu pego a saida
ObjectOutputStream output = new ObjectOutputStream(cliente.getOutputStream());

//escrevo o que eu quero mandar
output.writeUTF("dir");

//agora mando
output.flush();

//agora pego a entrada
ObjectInputStream input = new ObjectInputStream(cliente.getInputStream());

//e leio o que tem que ser lido
int numArquivos = input.readInt();

for (int i = 0; i < numArquivos; i++) {
System.out.println(input.readUTF());
}
}
}

---------------------------------------------------------------------

package SocketProva;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class CLIENTE {





public static void main(String[] args) throws IOException {

ServerSocket server = new ServerSocket(5678);
System.out.println("conectando...");
Socket cliente = server.accept();

//pegando a entrada (saida do server)
ObjectInputStream input = new ObjectInputStream(cliente.getInputStream());

//recebendo...
String recebido = input.readUTF();
System.out.println("recebido -> " + recebido);

//agora pego a saida pra escrever a resposta
ObjectOutputStream output = new ObjectOutputStream(cliente.getOutputStream());

//input.toString() nunca vai ser "true", vai sair alguma coisa como "java.io.ObjectInputStream@872380"
if ("dir".equals(recebido)) {

File[] conteudo = new File("C:/temp").listFiles();

//dis quantos arquivos serão
output.writeInt(conteudo.length);

//é melhor colocar conteudo.length doque supor que a sua pasta sempre terá 200 arquivos
for (int i = 0; i < conteudo.length; i++) {
output.writeUTF(conteudo[i].toString());
}
}

//mando a resposta
output.flush();
}
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...