# Chat: Verbindung kommt nicht zu stande



## KSG9|sebastian (28. Jun 2004)

Hi Leute, ich bin grade dabei nen Chat zu schreiben für max. 300 User. Das Problem ist aber, dass die Verbindung nicht so recht zu stande kommt.

Client:

```
package ChatClient;
import java.io.*;
import java.net.*;
import java.lang.Runnable;
import java.lang.Thread;

public class ClientTool implements Runnable{
    private Socket sock;
    private InputStream input;
    private OutputStream output;
    private BufferedReader reader;
    private PrintWriter writer;
    private Thread thr;
    public ClientTool(){
           System.out.println("Client läuft");
           try{
              connect("localhost", 3140);
           }catch(IOException e){
            e.printStackTrace();
           }
    }
    public void connect(String ip, int port) throws IOException, UnknownHostException{
           sock = new Socket(ip, port);
           sock.setSoTimeout(10000);
           sock.setKeepAlive(true);
           writer = new PrintWriter(sock.getOutputStream(),true);
           reader = new BufferedReader(
                     new InputStreamReader(sock.getInputStream()));
           thr = new Thread(this);
           thr.start();

    }
    public void run(){

           while(true){
           System.out.println("Client-Thread läuft...");
                      try{
                      writer.write("PING");

                      System.out.println(reader.readLine());
                      }
                      catch(IOException e){
                            e.printStackTrace();
                      }
                      try{
                          Thread.sleep(200);
                       }catch(InterruptedException e){
                          e.printStackTrace();
                      }
                      if(!(sock.isConnected() && sock.isBound())){
                      System.out.println("Server nicht verbunden");

                      }
           }

    }

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

Server:


```
package chatserver;
import java.io.*;
import java.net.*;
import java.lang.Runnable;

public class ServerTool implements Runnable{
    private Socket sock;
    private ServerSocket serversock;
    private InputStream input;
    private OutputStream output;
    private BufferedReader reader;
    private PrintWriter writer;
    private Thread thr;
    private int clients;
    public ServerTool() {
           System.out.println("Server läuft");

           try{
              connect(3140);
              clients = 0;
           }catch(IOException e){
            e.printStackTrace();
           }

    }
    public void connect(int port) throws IOException, UnknownHostException{
           serversock = new ServerSocket(port);
           serversock.setSoTimeout(10000);
           sock = serversock.accept();
           sock.setSoTimeout(10000);
           sock.setKeepAlive(true);
           writer = new PrintWriter(sock.getOutputStream(),true);
           reader = new BufferedReader(
                new InputStreamReader(sock.getInputStream()));
           thr = new Thread(this);
           thr.start();

    }
    public void run(){
           while(true){
           System.out.println("Server-Thread läuft...");
            try{
                writer.write("PONG");
                writer.flush();
                System.out.println(reader.readLine());
            }
            catch(IOException e){
                e.printStackTrace();
            }
            try{
                Thread.sleep(200);
            }catch(InterruptedException e){
                e.printStackTrace();
            }
            if(!(sock.isConnected() && sock.isBound())){
                      System.out.println("Server nicht verbunden");

            }

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


}
```

Wenn ich den Server, dann den Client starte kommt eine Verbindung zustande. Aber eigentlich sollte alle 200ms die Nachricht "Server-Thread läuft..." bzw. "Client-Thread läuft..." in der Console ausgegeben werden, da ich den Befehl in der while(true)-Schleife hab. Desweiterens ollte ständig ein "PING" bzw. "PONG" gesendet und empfangen werden, wird es aber nicht. Nach 10sec. bekomme ich dann einen Read-Timeout. Könnt ihr mir sagen woran das liegen könnte?

Gruß plakY


----------



## Dante (28. Jun 2004)

- client flusht nicht
- readLine() wartet auf einen zeilenumbruch, du sendest aber keinen 
- nach 10sec fliegst du raus weil du ja deinem socket nen entsprechendem timeout setzt.  (imho ist das bei sockets nicht so wichtig, da die eh sterben (IOException o.ä.) wenn der verbindungspartner weg ist)


----------



## KSG9|sebastian (28. Jun 2004)

ahh..herzlichen dank..ich bin fast blöde geworden


----------



## cefstill (9. Feb 2008)

Terms of xanax distribution. 
xanax with delivery. 
buy xanax online 
picture of xanax 


xanax bar 
purchase xanax 

xanax and serapax 
buy xanax 
buy xanax without a prescription


----------



## cefstill (9. Feb 2008)

Different kinds of xanax. 
xanax in Canada drugstores. 
buy xanax without prescription in usa 
xanax alprazolam 


tranqualizers xanax 
xanax 2 mg 

xanax overdose 
xanax g3722 
xanax xr


----------



## Gast (12. Mrz 2008)

serz ich bin in der schule und my server zu mainfrankenchat fuktioniert nich könndihtr mia ma en übergangslink geben damit ich in mainfrankenchat gehen kann?


----------



## tuxedo (12. Mrz 2008)

Wer oder was ist "mainfrankenchat"?

Nebenbei: Die Tastatur hat zwar viele Tasten. Dennoch sollte man sich davon nicht allzusehr verwirren lassen und sich bemühen im richtigen Zeitpunkt die richtige Taste zu drücken. Dein Kauderwelsch ist ja schier nicht lesbar.

- Alex


----------

