PROBLEMA com socket

1 resposta
carvalhais

Olá Pessoal ???

Gente me ajuda eu estou com um problema com meu socket , tenho um aplicação cliente que acessa um especifico servidor na rede.

Esta aplicação cliente tem que ficar com o socket ativo para escutar o trafego de dados onde a cada recebimento de mensagem ele encaminha uma resposta automatica, mas estou tendo um problema apos o recebimento da primeira mensagem osocket responde normalmente o problema e que ele nao esta ficando ativo ou seja, ele recebe a primeira mensagem e termina a execução da aplicação.

Alguem pode me ajudar???

package src;

import java.io.DataInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Inbox implements Runnable {
	public static String rec;
	public static String key;
	public void run(){ 
		
		try {  
	
        Socket Inbox = new Socket("177.43.122.158", 5000);  
        
        
        InputStream in = Inbox.getInputStream(); 
        OutputStream out = Inbox.getOutputStream();  

        byte[] xml = "<?xml version=\"1.0\" encoding=\"ASCII\"?><Package><Header Version=\"1.0\" Id=\"1\" /><Data User=\"teste\" Password=\"123456\" /></Package>".getBytes();  
       
        out.write(xml);  
        out.flush();
        in = new DataInputStream(Inbox.getInputStream());
        
        byte[] buf = new byte[100000];  
		 
         in.read(buf);
         
         System.out.println(rec = new String(buf).trim());
 
         key = rec.substring(rec.indexOf("{")+1,rec.indexOf("}", rec.indexOf("{")));  
         
        if( rec!=null){
 		 String ack = "<?xml version=\"1.0\" encoding=\"ASCII\"?><Package><Header Version=\"1.0\" Id=\"98\" Reason=\"0\" Save=\"False\"  /><Data /></Package>";
 		 byte[] xml1 = ack.getBytes();  
 	       
 		 out.write(xml1);  
 		 out.flush();
        }
         
    } catch (Exception e) {  
        e.printStackTrace();  
    }  
}

1 Resposta

L

olá, tenta colocar em loop a parte do código que ler a mensagem do cliente e retorna uma mensagem para o cliente.

Criado 31 de maio de 2012
Ultima resposta 31 de mai. de 2012
Respostas 1
Participantes 2