Thread problem

Hallo erst mal,

Ich habe ein Problem beim trennen der Verbindung wenn ich ct.interrupt() ct=(clientThread) aufrufe kommt eine Fehlermeldung besser gesagt immer wieder und wieder.Besser geasgt nach aufruf c.interrupt() beendet er irgendwie nicht die while(!isInterrupted()) oder vielleicht liegt es wo ander keine ahnung

Es sind 3 Klassen

1.Klasse clientThread:


Java:
public class ClientThread extends Thread {

    private BufferedReader br;
    private JTextArea taAUsgabe;

    public ClientThread(BufferedReader br, JTextArea taAUsgabe) {
        this.br = br;
        this.taAUsgabe = taAUsgabe;
    }

    @Override
    public void run() {
        while (!this.isInterrupted()) {
            try {
                String zeile = br.readLine();
                taAUsgabe.append(zeile+System.getProperty("line.separator"));
            }
            catch (SocketTimeoutException ex)
            {
                 System.out.println("readtime out");
            }
            catch (IOException ex)
            {
               // break;
                JOptionPane.showMessageDialog(null,ex.getMessage() );
            }

         
        }
    }
}

2.Klasse Echo-Server:

Java:
public class EchoServer {

    private int port;

    public EchoServer(int port) {
        this.port = port;
    }

    public void start() {
        try {
            ServerSocket server = new ServerSocket(port);
            System.out.println("server started on port: " + port + "...");
            Socket socket = server.accept();
            System.out.println("Connected to: "+socket.getRemoteSocketAddress());
            OutputStream os = socket.getOutputStream();
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
            InputStream is = socket.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            while (true)
            {
                String zeile=br.readLine();
                if(zeile.equals("the end"))
                {
                    break;
                }
                bw.write(zeile);
                bw.newLine();
                bw.flush();
                System.out.println("Data exchange performed");
            }
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
        }
    }

    public static void main(String[] args) {
        EchoServer es = new EchoServer(1337);
        es.start();
    }
}

3.Klasse ClientGUI:

Java:
public class ClientGui extends javax.swing.JFrame {
private Socket socket;
private int port=1337;
private  BufferedWriter bw ;
private BufferedReader br;
ClientThread ct;
    /** Creates new form ClientGui */
    public ClientGui() {
        initComponents();
        this.setLocationRelativeTo(null);
    }
 private void onVerbinden(java.awt.event.ActionEvent evt) {                             
        try {
            InetAddress addr =InetAddress.getByName("localhost");
            try {

                 socket = new Socket(addr, port);
                 socket.setSoTimeout(500);
                 OutputStream os = socket.getOutputStream();
                 bw = new BufferedWriter(new OutputStreamWriter(os));
                 InputStream is = socket.getInputStream();
                 br = new BufferedReader(new InputStreamReader(is));
                 ct = new ClientThread(br, jTAntwort);
                 ct.start();
                 btSenden.setEnabled(true);
                 btTrennen.setEnabled(true);
                 btVerbinden.setEnabled(false);
            } catch (IOException ex) {
                JOptionPane.showMessageDialog(null,"connection to server failed!!!" );
            }
        } catch (UnknownHostException ex) {
          JOptionPane.showMessageDialog(null,"Unknown Host!!!" );
        }
    }                            

    private void onSenden(java.awt.event.ActionEvent evt) {                          
     try
     {
         String text=jTEingabe.getText();
         if(!text.equals(""))
         {
             bw.write(text);
             bw.newLine();
             bw.flush();
         }
     }
     catch(Exception ex )
     {
         JOptionPane.showMessageDialog(null,"Send to Server failed!!!" );
     }

    }                         

    private void onTrennen(java.awt.event.ActionEvent evt) {                           
        try {
            // TODO add your handling code here:
            
            bw.write("the end");
            bw.newLine();
            bw.flush();
            ct.interrupt();
            socket.close();
            btSenden.setEnabled(false);
            btTrennen.setEnabled(false);
            btVerbinden.setEnabled(true);
        } catch (IOException ex) {

        }
    }
 
Zuletzt bearbeitet:

Cola_Colin

Top Contributor
Wenn ein Thread innerhalb einer IO-Operation durch ein interrupt unterbrochen wird, wird afaik eine IOException geworfen. Eventuell passiert das ?
Was für eine Fehlermeldung wird denn angezeigt ?
 
Was mich Überhaupt zum verzweifeln bringt ist das er
INTERRUPTED while loading Image(kommt gluab ich von der Klasse Client Thread) ausgibt auf der Konsole!!!!! aber warum???
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Socket Server starten Thread Problem Netzwerkprogrammierung 12
F problem mit thread bzw. netzwerkverbindung! Netzwerkprogrammierung 3
OnDemand Thread und Ratelimiter Netzwerkprogrammierung 4
F Thread "extern" beenden Netzwerkprogrammierung 3
OnDemand Linux RAM per Thread Netzwerkprogrammierung 3
V Socket Audio Clip loopen ohne neuen Thread Netzwerkprogrammierung 2
C Thread Netzwerkprogrammierung 9
platofan23 Socket Hilfe mit Socket Thread und ArrayList Netzwerkprogrammierung 6
A RMI RMI - Thread Objekte übertragen und auf anderer Machine weiterlaufen lassen Netzwerkprogrammierung 0
S Socket ThreadPool oder Thread pro Client? Netzwerkprogrammierung 11
P Wie spreche ich einen Thread an? Netzwerkprogrammierung 20
M Thread Scheduler Java 5.0? Netzwerkprogrammierung 2
7 Mehrere Verbindungen gleichzeitig in einem Thread mit ApacheHTTP Netzwerkprogrammierung 7
D Socket Dynamische Socket-Thread Erzeugung Netzwerkprogrammierung 2
B Socket Thread handling / Reader init Netzwerkprogrammierung 8
Z Socket Socket-Thread falsch? Netzwerkprogrammierung 5
Helgon Socket Thread Pooling Netzwerkprogrammierung 6
M Was macht Thread, wenn er aus einem "leeren" Inputstream liest ? Netzwerkprogrammierung 5
B callback thread udp Netzwerkprogrammierung 2
D RMI und Thread Netzwerkprogrammierung 4
S Kommunikationsproblem, Thread und manuel Netzwerkprogrammierung 4
U Socket Abhören eines Sockets/Ports in extra Thread Netzwerkprogrammierung 8
K ein Thread pro Stream Netzwerkprogrammierung 2
D Weiterer Thread auf Port 843 horcht Netzwerkprogrammierung 7
S Thread, Daten vom Socket lesen Netzwerkprogrammierung 2
S Thread Transport Netzwerkprogrammierung 6
S Socket Thread in Schleife Netzwerkprogrammierung 4
G Objekte per TCP verschicken + Thread Netzwerkprogrammierung 4
T synchronized mit thread und rückgabe Netzwerkprogrammierung 4
Q Thread und Sockets... Netzwerkprogrammierung 2
2 Class mit ServerSocket erbt von Thread? Netzwerkprogrammierung 3
PAX Outputstream von anderem Thread verwenden lassen Netzwerkprogrammierung 5
C Server mit Multithreading (Thread-Pool) Netzwerkprogrammierung 2
E java.lang.NullPointerException aber nur wenns im Thread läuf Netzwerkprogrammierung 4
F EIN Thread in RMI auf Serverseite Netzwerkprogrammierung 3
G Server Thread beenden Netzwerkprogrammierung 16
T Socket-Thread: Designfrage Netzwerkprogrammierung 14
S Mit Thread arbeitende Maschine Netzwerkprogrammierung 6
T select() ohne NIO - oder wie Worker-Thread sauber beenden? Netzwerkprogrammierung 9
K Selbe Streams mehrfach nutzen (zusätl. Thread) Netzwerkprogrammierung 6
ven000m Thread Frage Netzwerkprogrammierung 11
B Thread.start() (run()) excption Netzwerkprogrammierung 2
M Thread läuft nicht weiter Netzwerkprogrammierung 2
B NullPointerException | Thread Netzwerkprogrammierung 4
U Current thread not owner Netzwerkprogrammierung 3
S readline-thread stoppt vorzeitig Netzwerkprogrammierung 6
J RMI - (RemoteException occurred in server thread) Netzwerkprogrammierung 2
S Webserverprogrammierung: Thread-Beschränkung Netzwerkprogrammierung 2
M Exception in thread "main" java.lang.NoClassDefFou Netzwerkprogrammierung 2
L netzwerk mit thread Netzwerkprogrammierung 3
G RMI thread safe ? Netzwerkprogrammierung 11
A Thread gibt Nachrichten mehrmals aus (Messenger in Java) Netzwerkprogrammierung 3
I Socket Problem mit den WebSocket Antworten der Discord API Netzwerkprogrammierung 0
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
C RMI Produzent-Verbraucher-Problem - Code review Netzwerkprogrammierung 12
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
S Problem bei dem Bluetoothverbindungsaufbau Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
M Netty - TCP Problem Netzwerkprogrammierung 4
L Socket Problem mit Server Netzwerkprogrammierung 1
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
M Socket CDI, Websocket reference Problem ! Netzwerkprogrammierung 2
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
G apache httpClient Problem. Netzwerkprogrammierung 5
H Problem mit ObjectStreams Netzwerkprogrammierung 3
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
D Socket BufferedWriter/Reader Problem Netzwerkprogrammierung 1
Maxim6394 Problem mit Socks5 Implementierung Netzwerkprogrammierung 0
C Handle Connection Problem Netzwerkprogrammierung 3
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
E einfaches Problem: Session-Handling bei Servlets Netzwerkprogrammierung 5
G Problem mit einem FileWatcher Netzwerkprogrammierung 7
B Client/Server Connection Problem Netzwerkprogrammierung 2
G Problem mit STATIC-Verständnis Netzwerkprogrammierung 8
S Umstellung AS400 auf Postgre - Problem beim Arbeiten mit Metadaten Netzwerkprogrammierung 2
J Facelets Include Rendered Problem Netzwerkprogrammierung 2
J Socket Problem mit C++/Java Netzwerkprogrammierung 20
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
G Socket NIO2 Problem mit AsynchronousSocketChannel beim Schließen Netzwerkprogrammierung 3
G Cookie Verwaltungs Problem nach Login auf InetSeite (Wo utma-Cookie?) Netzwerkprogrammierung 18
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 7
B Socket Problem mit Netzwerkchat Netzwerkprogrammierung 21
D RMI Problem beim shutdown von verteilter CORBA-Anwendung Netzwerkprogrammierung 6
Maxim6394 ipv6 Problem Netzwerkprogrammierung 2
Maxim6394 Proxyserver Performance Problem Netzwerkprogrammierung 11
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 5
B RMI und Problem mit rmic-Tool Netzwerkprogrammierung 3
C FTP storeFileStream Problem Netzwerkprogrammierung 3
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
D JavaMail - Mailsabrufen Problem (imap) Netzwerkprogrammierung 12
J HTTP Übersetzung yahoo babelfish - Zeichensatz-Problem Netzwerkprogrammierung 6
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Problem beim Datenempfang Netzwerkprogrammierung 2
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14

Ähnliche Java Themen

Neue Themen


Oben