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){
}
}
}