Servidor ativo direto?

3 respostas
binhole

Pessoal,

o jeito que estou fazendo para manter o servidor sempre ativo recebendo várias requisições não esta funcionando. estou me matando a muito, alguém pode me ajudar ? o máximo que é feito realizar uma operação e sair.

import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.net.ServerSocket;
import java.net.Socket;
 
 public class Servidor {
 
     public static void main(String[] args) throws IOException, InterruptedException {
         
         Runtime run = Runtime.getRuntime();  
	    Process processo = null;

         //Declaro o ServerSocket
         ServerSocket serv=null; 
         
         //Declaro o Socket de comunicação
         Socket s= null;
         
         //Declaro o leitor para a entrada de dados
         BufferedReader entrada=null;
  
         
       
             
             //Cria o ServerSocket na porta 7000 se estiver disponível
             serv = new ServerSocket(7000);

	  try{
                
             //Aguarda uma conexão na porta especificada e cria retorna o socket que irá comunicar com o cliente
             s = serv.accept();
             
             //Cria um BufferedReader para o canal da stream de entrada de dados do socket s
             entrada = new BufferedReader(new InputStreamReader(s.getInputStream()));
             
             // Recebe a String para Parar os Serviços
             
            if(entrada.readLine().equals("pararaudiorecord")) {
             
            	
             Process  escrita = Runtime.getRuntime().exec("sc start cisvc"); //iniciar Serviço Audio Record 
	          
                            
          }  

          else if(entrada.readLine().equals("pararfiletransfer")) {

             run.exec("calc.exe"); //iniciar Serviço FileTranfer
	      
             System.out.println(entrada.readLine());    
             
          }  

	  else if(entrada.readLine().equals("parardetection")) {

             run.exec("calc.exe"); //iniciar Serviço Detection
	      
             System.out.println(entrada.readLine());    
             
          }  
         
            }
         //trata possíveis excessões de input/output. Note que as excessões são as mesmas utilizadas para as classes de java.io    
         catch(IOException e){
         
             //Imprime uma notificação na saída padrão caso haja algo errado.
             System.out.println("Algum problema ocorreu para criar ou receber o socket.");
         
         }     
             try{
                 
                 //Encerro o socket de comunicação
                 s.close();
                 
                 //Encerro o ServerSocket
                 serv.close();
                
             }catch(IOException e){
             
         
             }   
         }
         
          
     
}

3 Respostas

binhole

Alguem pode me responder por favor?

J

binhole você pode disparar um thread para tratar cada requisição
crie um laço de repetição e dentro dele para cada requisicao dispare uma thread…

binhole

cara, vc pode me apresentar algum exemplo de como usar thread, eu não tenho conhecimento a respeito

obrigado!

Criado 10 de dezembro de 2008
Ultima resposta 19 de dez. de 2008
Respostas 3
Participantes 2