Ola galera tudo bem?
Alguém poderia ajudar a resolver um problema:
Seguinte,estou tentando criar um chat em java,porém os soquetes se conectam(socket e o socketserver),porém ao retornar uma mensagem para a aplicação cliente a variável não aparece no textarea da aplicação cliente com o método settext.
ai vai a aplicação cliente:
package conexao_rede;
import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
class cliente_rede extends javax.swing.JFrame {
Socket socket;
public cliente_rede() {
initComponents();
setSize(400,300);
}
public void gera_conexao(){
try {
socket=new Socket("127.0.0.1",4585);
InputStreamReader reader=new InputStreamReader(socket.getInputStream());
BufferedReader read=new BufferedReader(reader);
String mensagem = null;
while(read.readLine()!=null){
mensagem=read.readLine();
}
jtaconversa.setText(mensagem);
}
catch (UnknownHostException ex) {
Logger.getLogger(cliente_rede.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(cliente_rede.class.getName()).log(Level.SEVERE, null, ex);
}
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jtfmensagem = new javax.swing.JTextField();
jbtenviar = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jtaconversa = new javax.swing.JTextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
jPanel1.setLayout(null);
jPanel1.add(jtfmensagem);
jtfmensagem.setBounds(40, 250, 260, 30);
jbtenviar.setText("Enviar");
jPanel1.add(jbtenviar);
jbtenviar.setBounds(310, 250, 75, 23);
jtaconversa.setColumns(20);
jtaconversa.setRows(5);
jScrollPane1.setViewportView(jtaconversa);
jPanel1.add(jScrollPane1);
jScrollPane1.setBounds(40, 10, 260, 220);
getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 400, 300);
pack();
}// </editor-fold>
public static void main(String args[]) {
cliente_rede cliente=new cliente_rede();
cliente.setVisible(true);
cliente.gera_conexao();
}
// Variables declaration - do not modify
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JButton jbtenviar;
private javax.swing.JTextArea jtaconversa;
private javax.swing.JTextField jtfmensagem;
// End of variables declaration
}
e abaixo o código da aplicação servidor:
package conexao_rede;
import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
class servidor_rede extends javax.swing.JFrame {
public servidor_rede() {
initComponents();
setSize(400,300);
}
public void gera_conexao(){
try {
ServerSocket socket=new ServerSocket(4585);
while(true){
Socket socketrecepcao=socket.accept();
PrintWriter writer=new PrintWriter(socketrecepcao.getOutputStream());
writer.println("ola bom dia");
writer.flush();
}
} catch (UnknownHostException ex) {
Logger.getLogger(servidor_rede.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(servidor_rede.class.getName()).log(Level.SEVERE, null, ex);
}
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jtfmensagem = new javax.swing.JTextField();
jbtenviar = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jtaconversa = new javax.swing.JTextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
jPanel1.setLayout(null);
jPanel1.add(jtfmensagem);
jtfmensagem.setBounds(40, 250, 260, 30);
jbtenviar.setText("Enviar");
jPanel1.add(jbtenviar);
jbtenviar.setBounds(310, 250, 75, 23);
jtaconversa.setColumns(20);
jtaconversa.setRows(5);
jScrollPane1.setViewportView(jtaconversa);
jPanel1.add(jScrollPane1);
jScrollPane1.setBounds(40, 10, 260, 220);
getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 400, 300);
pack();
}// </editor-fold>
public static void main(String args[]) {
new servidor_rede().setVisible(true);
servidor_rede server=new servidor_rede();
server.gera_conexao();
}
// Variables declaration - do not modify
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JButton jbtenviar;
private javax.swing.JTextArea jtaconversa;
private javax.swing.JTextField jtfmensagem;
// End of variables declaration
}
Se alguma boa alma puder me ajudar,ficarei muito agradecido!!!