Dicas de Sockets

Olá!
Tenho uma aplicação em JAVA e quero colocar em rede utilizando sockets. Esta aplicação conecta-se com um banco “mysql” e faz INSERT’s, SELECt’s, DELETE’s e UPDATE’s.

Bem, o que deve ter na minha classe servidor? E na cliente? O que eu passo do Servidor para o Cliente e vice-versa?

Por favor, me deem algumas dicas para eu poder começar! Um fonte seria bem útil também!

Obrigado!

Oi

Uma dica boa, nao use Sockets… Faça isso com RMI… Aqui mesmo no PJ tem um tutorial

http://www.portaljava.com/home/modules.php?name=Content

T+

Tipo…pq RMI e não Sockets?

Eu pensei em fazer (e já estava fazendo) assim:

Servidor:

Faço a conexao com o banco e mando essa conexao:

 saida = new ObjectOutputStream(socket.getOutputStream);
 saida.flush();
 saida.writeObject(conexao);

Cliente:

 entrada = new ObjectInputStream(socket.getInputStream);
 Connection conexao = (Connection) entrada.readObject();

Mas dai acontece NotSerializableException! Por quê isso acontece? Como consertar? Desse jeito que estou fazendo, não é uma boa implementação?

Isso acontece por que o objeto que você está tentando transferir não implementa a interface serializable. Essa interface é apenas de marcação (não há nada dentro dela, sem métodos e sem variáveis), ela indica que o objeto pode ser persistido (ele pode ser salvo em algum lugar e depois pode ser lido de algum lugar, ficando exatamente igual a como ele era antes).

Se você quizer transferir só texto, transfere a string. Senão o seu objeto deve implementar java.io.Serializable.
Os atributos dos objetos da sua classe que você não quizer transferir, basta marcá-los com o modificador transient, ele diz que o atributo não deve ser salvo (no seu caso transmitido).

Ok?

Rafael ticks[/b]

Eu já fiz “implements Serializable” em todas as minhas classes! Tinha esquecido de mencionar…

E agora?