# Socket (client) verbindet nicht



## SNB1998 (23. Okt 2013)

Hi Leute,


also ich programmiere mit Sockets. Dafür die Quellcodes:


Server:

```
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;


public class Server {
    
    public static void main(String [] args){
        ServerSocket server = null;
        Socket client = null;
        BufferedReader reader = null;
        PrintWriter writer = null;
        
        try{
            server = new ServerSocket(4711);
            System.out.println("Server wird gestartet ...");
        
            client = server.accept();
            System.out.println("Mit " + client.getInetAddress() + " verbunden...");
            
            reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
            writer = new PrintWriter(client.getOutputStream());
            
            while(true){
                String incoming = reader.readLine();
                if(incoming.equals("/exit")){
                    System.out.println("Server wird gestoppt...");
                    break;
                }else{
                    System.out.println("Message: " + incoming);
                    writer.print(incoming + "\n");
                    writer.flush();
                }
            }
            
            reader.close();
            writer.close();
            System.out.println("Server gestoppt!");
        } catch(IOException e){}
    }
}
```



Client:

```
import java.awt.BorderLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;


    public static void main(String [] args){
        
        Socket client = null;
        BufferedReader reader = null;
        Scanner scanner = null;
        
        
        try{
            client = new Socket("192.168.2.102",4711);
            System.out.println(client.getInetAddress());
            reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
            writer = new PrintWriter(client.getOutputStream(), true);
            scanner = new Scanner(System.in);
            
            while(true){
                //Ausgabe
                String userInput = scanner.nextLine();
                writer.print(userInput + "\n");
                writer.flush();
                if(userInput.equals("/exit")) break;
                
                //Annahme
                String incoming = reader.readLine();
                System.out.println("Message " + incoming);
            }
            
            reader.close();
            writer.close();
        }catch (IOException e){
            System.exit(1);
        }
    }
}
```


Wie ihr vielleicht bemerkt habt, lasse ich auf meine IP (192.168.2.102) auf den Port (4711) verbinden.
Von mir auf geht das super. Aber wenn ich jetzt meinen Bruder (er ist im gleichem Netzwerk), das Client-Programm ausführen lasse geht das nicht.


Meine Fragen: :rtfm:
Wieso?
Wie kann ich es lösen?



Vielen Dank im Voraus 
SNB


PS: Da ich mich damit erst seit ein paar Tagen beschäftige würde ich mich darüber freuen, wenn ihr mir auf Vorschläge gebt, wie man etwas besser machen könnte. (Auch dafür Dank im Voraus)


----------



## Rubber (24. Okt 2013)

Geht da eventuell die Firewall dazwischen?


----------



## Ruzmanz (24. Okt 2013)

Oder das ganze läuft über einen Router und dort muss man die Ports freischalten.


----------



## SNB1998 (24. Okt 2013)

> Geht da eventuell die Firewall dazwischen?


Wie erkenne ich das denn? Wie verhindere ich es?



> Oder das ganze läuft über einen Router und dort muss man die Ports freischalten.


Ok. ich hab mir welche freigeschaltet.


----------



## Rubber (25. Okt 2013)

Kommt auf dein Betriebssystem an und welche Firewall du nutzt.

Wekche freischalten hift nicht 
Hoffe, du meintest die, die du nutzt.


----------



## SNB1998 (25. Okt 2013)

mein bruder und ich benutzen windows7 und die firewall davon. und dann haben wir beide noch avira free antivirus drauf.




> Wekche freischalten hift nicht
> Hoffe, du meintest die, die du nutzt.


ja ich meinte die, die ich dann auch nutze.


----------



## Rubber (25. Okt 2013)

Bei dir muss dann der Serverport in der Firewall freigeschaltet sein.


----------

