Fehler in der Chat-App [geschlossen]

Ich bin ein Neuling in Java. Ich habe versucht, eine Chat-App zu erstellen, aber es treten Fehler auf, wenn ich sogar einen einzelnen Client ausführe. Warum werden der Textbereich und das Textfeld nicht angezeigt? Was ich bekomme, ist dies aufgrund vonFunktion annehmen.Wenn der Compiler die Funktion akzeptiert, wird die App ausgelastet. der Bildschirm der App zeigt nichts.

Code des ersten Kunden:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.net.*;

public class ChatAppOne{

JFrame jframe;
JTextArea jtextarea;
JTextField jtextfield;
JButton jbutton;

ServerSocket server;
Socket sSocket,cSocket;
InputStream inStream;
ObjectInputStream objInStream;
OutputStream outStream;
ObjectOutputStream objOutStream;


ChatAppOne(){
    jframe=new JFrame();
    jframe.setLayout(new FlowLayout(FlowLayout.LEFT));

    jtextarea=new JTextArea("",28,49);
    jtextarea.setEditable(false);
    jframe.add(new JScrollPane(jtextarea));

    jtextfield=new JTextField();
    jtextfield.setPreferredSize(new Dimension(440,30));
    jframe.add(jtextfield);

    jbutton=new JButton("Send");
    jbutton.setPreferredSize(new Dimension(100,35));
    jframe.add(jbutton);

    jbutton.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ae){
            try{
                cSocket=new Socket("localhost",1340);
                outStream=cSocket.getOutputStream();
                objOutStream=new ObjectOutputStream(outStream);

                objOutStream.writeObject(jtextfield.getText());
                jtextarea.setText(jtextarea.getText() +" \n " +"Me: " +jtextfield.getText());

                jtextfield.setText("");

                cSocket.close();
                outStream.close();
                objOutStream.close();
            }catch(Exception e){
                JOptionPane.showMessageDialog(null, e, "Error", JOptionPane.PLAIN_MESSAGE);
            }
        }
    });

    jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jframe.setSize(600,600);
    jframe.setTitle("Chat Application");
    jframe.setVisible(true);

    startServer();
}

void startServer(){
    try{
        server=new ServerSocket(1550);
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e, "Error", JOptionPane.PLAIN_MESSAGE);
    }
    while(true){
        try{
            sSocket=server.accept();

            inStream=sSocket.getInputStream();
            objInStream=new ObjectInputStream(inStream);

            String msg=(String) objInStream.readObject();

            jtextarea.setText("App Two : "+ msg);

            sSocket.close();
            inStream.close();
            objInStream.close();

        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e, "Error", JOptionPane.PLAIN_MESSAGE);
        }
    }
}


public static void main(String args[]){
    SwingUtilities.invokeLater(new Runnable(){
        public void run(){
            new ChatAppOne();
        }
    });
}

}

Client Zwei ist mit dem Client identisch, mit Ausnahme der Portunterschiede zwischen Server und Client.

Code des zweiten Kunden

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.net.*;

public class ChatAppTwo{

JFrame jframe;
JTextArea jtextarea;
JTextField jtextfield;
JButton jbutton;

ServerSocket server;
Socket sSocket,cSocket;
InputStream inStream;
ObjectInputStream objInStream;
OutputStream outStream;
ObjectOutputStream objOutStream;


ChatAppTwo(){
    jframe=new JFrame();
    jframe.setLayout(new FlowLayout(FlowLayout.LEFT));

    jtextarea=new JTextArea("",28,49);
    jtextarea.setEditable(false);
    jframe.add(new JScrollPane(jtextarea));

    jtextfield=new JTextField();
    jtextfield.setPreferredSize(new Dimension(440,30));
    jframe.add(jtextfield);

    jbutton=new JButton("Send");
    jbutton.setPreferredSize(new Dimension(100,35));
    jframe.add(jbutton);

    jbutton.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ae){
            try{
                cSocket=new Socket("localhost",1550);
                outStream=cSocket.getOutputStream();
                objOutStream=new ObjectOutputStream(outStream);

                objOutStream.writeObject(jtextfield.getText());
                jtextarea.setText(jtextarea.getText() +" \n " +"Me: " +jtextfield.getText());

                jtextfield.setText("");

                cSocket.close();
                outStream.close();
                objOutStream.close();
            }catch(Exception e){
                JOptionPane.showMessageDialog(null, e, "Error", JOptionPane.PLAIN_MESSAGE);
            }
        }
    });

    jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jframe.setSize(600,600);
    jframe.setTitle("Chat Application");
    jframe.setVisible(true);

    startServer();
}

void startServer(){
    try{
        server=new ServerSocket(1340);
        JOptionPane.showMessageDialog(null, "Server Started", "Error", JOptionPane.PLAIN_MESSAGE);
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e, "Error", JOptionPane.PLAIN_MESSAGE);
    }
    while(true){
        try{
            sSocket=server.accept();
            inStream=sSocket.getInputStream();

            objInStream=new ObjectInputStream(inStream);
            String msg=(String) objInStream.readObject();

            jtextarea.setText("App Two : "+ msg);

            sSocket.close();
            inStream.close();
            objInStream.close();

        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e, "Error", JOptionPane.PLAIN_MESSAGE);
        }
    }
}


public static void main(String args[]){
    SwingUtilities.invokeLater(new Runnable(){
        public void run(){
            new ChatAppTwo();
        }
    });
}

}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage