Ir ao conteúdo
  • Cadastre-se
MarvinRio

Servidor java desconecta os usuários ociosos após 5 minutos

Recommended Posts

Estou usando esta metodologia Java para conexão entre cliente e servidor, eu copiei ela da internet, e me ajudou muito, mas o servidor permite que o usuário fique conectado enquanto ele estiver enviando mensagens, mas se o usuário permanecer um tempo médio de 5 minutos sem enviar nada ele é desconectado, eu preciso aumentar esse tempo para uns 30 minutos ou desativar a essa desconexão por inatividade, qualquer coisa que vocês souberem fazer me ajudaria muito.

 

Fiquem na paz

Muito obrigado

 

Configs : 

Netbeans 8.0

Windows Seven Ultimante 64 Bits

 

 

Segue o código :

 

 



package redes;


import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class ChatCliente extends JFrame {  


JTextField textoParaEnviar;
PrintWriter escritor;
Socket socket;
String nome;
JTextArea textoRecebido;
Scanner leitor;




 private class EscutaServidor implements Runnable{
     
public void run() {
try{
String texto;
while((texto=leitor.nextLine()) != null){
textoRecebido.append(texto+"\n");
}
}catch(Exception x){}


}


 }






public ChatCliente(){


super("Chat");
   Font fonte = new Font("Sefif", Font.PLAIN,26);
        textoParaEnviar = new JTextField();
textoParaEnviar.setFont(fonte);
JButton botao = new JButton("Enviar");
botao.setFont(fonte);
botao.addActionListener(new EnviarListener());


Container envio = new JPanel();
envio.setLayout(new BorderLayout());
envio.add(BorderLayout.CENTER, textoParaEnviar);
envio.add(BorderLayout.EAST, botao);
getContentPane().add(BorderLayout.SOUTH,envio);


textoRecebido= new JTextArea();
textoRecebido.setFont(fonte);
JScrollPane scroll= new JScrollPane(textoRecebido);
getContentPane().add(BorderLayout.CENTER, scroll);




   configurarRede();




setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,500);
setVisible(true);
     }


private class EnviarListener implements ActionListener{
        @[member="override"]
public void actionPerformed(ActionEvent e) {
escritor.println(nome+" : "+textoParaEnviar.getText());
escritor.flush();
textoParaEnviar.setText("");
textoParaEnviar.requestFocus();
}
   }




private void configurarRede(){
try{
        socket = new Socket("127.0.0.1",5000);
   escritor = new PrintWriter(socket.getOutputStream());
   leitor=new Scanner(socket.getInputStream());
   new Thread(new EscutaServidor()).start();
}catch(Exception e){}
}




public static void main(String[] args) {
new ChatCliente();
}




}










---------------------------------------------------------------------------------------------------------------------








package redes;


import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class ChatServer {
List<PrintWriter> escritores =  new ArrayList<>();


public ChatServer(){


    class EscutaCliente implements Runnable{


    Scanner leitor;
             public EscutaCliente(Socket socket){
            try{
                    leitor =  new Scanner (socket.getInputStream());
            }catch(Exception e){
           
            }
             }


             
             void encaminharParaTodos(String texto){
  for(PrintWriter w: escritores){
  try{
  w.println(texto);
  w.flush();
  } catch(Exception x){}
  }
  }
          
             
             public void run() {
try{
    String texto;
   while((texto=leitor.nextLine()) != null){
System.out.println(texto);
encaminharParaTodos(texto);
    }
}catch(Exception x){}


}
}






ServerSocket server;
try {
server = new ServerSocket(5000);
while(true){
Socket socket = server.accept();
new Thread(new EscutaCliente(socket)).start();
PrintWriter p = new PrintWriter(socket.getOutputStream());
escritores.add(p);
}


} catch (IOException e) {}






}


public static void main(String[] args) {
 ChatServer c= new ChatServer();
}




}










------------------------------------------------------------------------------------------------------------------------






package redes;


import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;


public class ConselhoCliente {


/**
* @param args
* @throws IOException 
* @throws UnknownHostException 
*/
public static void main(String[] args) throws UnknownHostException, IOException {
//Socket conexão de rede
Socket socket = new Socket("127.0.0.1",5000); 
Scanner s = new Scanner (socket.getInputStream());
System.out.println("Mensagem"+s.nextLine());
s.close();


}


}












------------------------------------------------------------------------------------------------------------------------




package redes;


import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;


public class ConselhoServidor {


/**
* @param args
*/
public static void main(String[] args) throws Exception{
ServerSocket server = new ServerSocket(5000);


//aguarda chegada de novos clientes
while(true){
Socket socket=server.accept();
try (PrintWriter w = new PrintWriter(socket.getOutputStream())){
w.println("Aprenda Java");
}
}


}


}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×