Aprendendo SOCKET

4 respostas
makecio

Galera to tentando aprender como trabalha com SOCKET.

to pretendendo criar um comunicador ( chat )

peguei um artigo aqui no guj pra ter uma ideia.

dai criei servidor e o cliente. Mas quando coloco o servidor pra recebe os dados o programa trava e so volta quando o cliente manda o dado.

Ou seja parece que o servidor trava quando o Socket fica esperando recebes os dados do cliente.

Teria um modo de arrumar issu?

4 Respostas

drsmachado

Bom, quais ações o servidor está programado para realizar, além de receber e direcionar as mensagens?
Se existem outras tarefas que ele deva realizar, aí sim ele “trava”, caso contrário, é o comportamento normal dele…

makecio
rapaz... olha o codigo ai pra tu ver
try{
            ServerSocket serverSocket = new ServerSocket(7000);
            Socket socket = serverSocket.accept();
            DataInputStream recebe= new DataInputStream(socket.getInputStream());
           
            JOptionPane.showMessageDialog(null, "" + recebe.readUTF(), "", JOptionPane.INFORMATION_MESSAGE);
            recebe.close();
            socket.close();
            serverSocket.close();
        }
ViniGodoy

Dê uma olhada aqui:
http://www.guj.com.br/posts/list/136538.java#735860
E aqui:
http://www.guj.com.br/posts/list/15/74218.java#506163

Uma dica. Tente fazer um protocolo binário. É um pouco mais fácil do que tratar texto, e muito mais eficiente.

E baixe alguma ferramenta de sniffing, como o wireshark.

makecio

obrigado pela ajuda.

vou dar uma olhada nos links.

sinto mto por ter criado dos topicos

Os dois era sobre SOCKET mas era problemas diferentes.

Criado 27 de novembro de 2010
Ultima resposta 28 de nov. de 2010
Respostas 4
Participantes 3