Enviar array de strings do servidor para o cliente

3 respostas
G

Boas Noites,

Tenho um Servidor que recebe de uns textfields nomes para as colunas de um jtable, até aqui tudo bem, o problema e que eu quero que cada cliente que se ligue ao servidor receba o array de Strings para criar o jtable, como consigo fazer isto? :oops:

Grato

3 Respostas

ViniGodoy

Se você usa Sockets diretamente, leia:
http://www.guj.com.br/posts/list/136538.java#735860

G

oi viny obrigado por responder mas continuo com duvidas.

vi que tenho de enviar o array de bytes, utilizei o seu código

public ByteArrayOutputStream codificarListarDiretorio() throws IOException
{
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    DataOutputStream dos = new DataOutputStream(bos);
    dos.writeByte(1); //Mensagem 1, listar diretório
    for(int i= 0; i < tabela().length; i++){
        dos.writeChars(tabela()[i]);
    }
    return bos;
}
byte[] m = serv.codificarListarDiretorio().toByteArray();
       DataOutputStream out = new DataOutputStream(socket.getOutputStream());
       out.writeInt(m.length); //Agora sim, o tamanho da mensagem
       out.write(m); //Os dados
       out.flush();

mas agora como faço para enviar os dados para tabela do cliente?

Grato

M

Você precisa realmente enviar o tamanho da mensagem antes dela? Se não precisar, a linha 3 do segundo trecho está sobrando.

Para exibir na tabela você precisará ter um Socket no cliente que leia esses bytes. Depois crie um TableModel* para sua tabela.

Criado 8 de fevereiro de 2010
Ultima resposta 9 de fev. de 2010
Respostas 3
Participantes 3