Server und Client verbinden nicht

T

tsag

Gast
Hallo,

ich versuche gerade, mein Programm Netzwerkfähig zu machen. Leider ist das nicht so einfach, wie ich dachte. Ich habe mir als Vorlage den Code aus Java ist auch eine insel genommen, genau genommen diese Seite: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 18.8 Client-Server-Kommunikation

Ich habe zuerst MulServer und MulClient, so wie sie da aufgeführt sind, ausgeführt und es hat alles funktioniert. Da ich aber eine Netzwerkverbindung in meinem bestehenden Programm haben möchte (welches schon eine main-klasse besitzt), habe ich den MulServer modifiziert so modifiziert:

Java:
import java.io.*; 
import java.math.BigInteger;
import java.net.*; 
import java.util.Scanner;
 
public class MulServer extends Thread
{ 
  private static void handleConnection( Socket client ) throws IOException 
  { 
    Scanner     in  = new Scanner( client.getInputStream() ); 
    PrintWriter out = new PrintWriter( client.getOutputStream(), true ); 
 
    String factor1 = in.nextLine(); 
    String factor2 = in.nextLine(); 
 
    out.println( new BigInteger(factor1).multiply( new BigInteger(factor2) ) ); 
  } 
  public void run() 
  { 
    ServerSocket server = null;
	try {
		server = new ServerSocket( 3141 );
	} catch (IOException e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	} 
 
    while ( true ) 
    { 
      Socket client = null; 
 
      try 
      { 
        client = server.accept(); 
        handleConnection ( client ); 
      } 
      catch ( IOException e ) { 
        e.printStackTrace(); 
      } 
      finally { 
        if ( client != null ) 
          try { client.close(); } catch ( IOException e ) { } 
      } 
    } 
  } 
}

und habe ihn (zum Test) direkt an den Anfang meiner Mainklasse gepackt mit

Java:
	public static void main(String[] args) {
		
		MulServer server = new MulServer();
		server.start();
		
....
	}

Dann habe ich versucht, mit den Clienten zu verbinden, aber es hat nicht funktioniert. Ich habe auch schon einige andere Dinge ausprobiert, aber es hat nichts funktioniert. Eigentlich wollte ich den Server ins actionPerformed eines JButtons packen, aber das hat genausowenig funktioniert wie mit der Mainklasse. Könnt ihr mir sagen was ich falsch mache?
 
S

SlaterB

Gast
du hast vergessen jeglichen Fehler genau zu beschreiben,
wenn ich deine Klasse mit
Java:
public class Test {

	public static void main(String[] args) throws Exception {
		MulServer server = new MulServer();
		server.start();

		Thread.sleep(1000);
		Socket s = new Socket("localhost", 3141);
		Scanner in = new Scanner(s.getInputStream());
		PrintWriter out = new PrintWriter(s.getOutputStream(), true);
		out.println("13");
		out.println("14");
		String erg = in.nextLine();
		System.out.println("erg: " + erg);
	}
}
laufen lasse, erscheint das gewünschte Ergebnis, alles geht bestens,
auch der MulClient aus dem Buch geht

> Dann habe ich versucht, mit den Clienten zu verbinden, aber es hat nicht funktioniert.

hmm, mit Exception?
 
T

tsag

Gast
Also wenn ich mein Programm mit dem Server in der Mainklasse starte bekomm ich keinen Fehler.
Wenn ich allerdings den MulClient starte, bekomme ich nach kurzer Zeit folgenden Fehler:

java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at MulClient.main(MulClient.java:13)

Da MulClient aber mit dem original MulServer funktioniert, muss der Fehler ja beim meinem editieren MulServer liegen.
 
S

SlaterB

Gast
du schriebst zu Beginn, dass du
> ....
in deiner main hast, wenn du die streichst, geht es dann?
bzw. funktioniert meine main als Komplettdurchgang?

falls ja, was genau hast du alles unter
> ....
?
wird dort auch mit dem Server verbunden? wenn eine Connection offen ist ohne gleich durchgearbeitet zu werden,
und keine andere akzeptiert werden, dann wäre mir so eine Fehlermeldung denkbar,
auch wenn ich sie selber gerade mit 3 Min. Wartezeit nicht reproduzieren konnte

generell könnte man den Server so umbauen, dann nach accept() ein Thread für die Bearbeitung eines Clients gestartet wird,
damit könnte der ServerSocket unmittelbar wieder mit accept() belauscht werden
 
T

tsag

Gast
Ich habe es jetzt nochmal mit deiner Methode getestet. Damit funktioniert es. Ich versuche allerdings auch, von meinem notebook einer Verbindung zum PC aufzubauen, indem ich anstatt der adresse localhost "192.168.2.2" anwende. Das hat mit dem original MulServer/MulClient auch funktioniert. Muss man bei so einer LAN-Verbindung noch etwas beachten?
 
S

SlaterB

Gast
zu beachten ist vieles, wovon ich das meiste nicht benennen kann,
wenn es aber schon mal lief, dann klingt das ja erfreulich,
versuche dorthin zurück zu gelangen,
und lasse dann den Server in seinem korrekten Zustand, baue höchstens Ausgaben ein, etwa 'Server gestartet'

starte ihn über eine andere main mit einer anderen Thread-Klasse, die in ihrer run-Methode MulServer.main(null); aufruft,
dann auch Fehler?

gibts irgendwelche Firewall-Einstellungen für das eine Programm, für das andere aber nicht?
 
T

tsag

Gast
Danke für die Hilfe, es hat jetzt funktioniert. Die Windows Firewall hat die Verbindung blockiert, nachdem ich sie deaktiviert habe, hat es funktioniert. Aber schon komisch, dass eine Datei einfach so blockiert wird und ne andere nicht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
J Client-Server und SOAP Netzwerkprogrammierung 23
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
I Socket Das erste Server-Client Programm Netzwerkprogrammierung 16
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
P Server als Client nutzen Netzwerkprogrammierung 8
D Socket Run Args Client/Server Socket Netzwerkprogrammierung 1
Cromewell Socket Multithreaded Server und Client Netzwerkprogrammierung 1
Y Client/Server/DB communication Netzwerkprogrammierung 3
JavaWolf165 Socket mit .writeUtf etwas vom Client zum Server schicken Netzwerkprogrammierung 13
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
gamebreiti Socket Server / Client Anwendung Manipulation von Objekten durch Server Netzwerkprogrammierung 9
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
F Server Client Anwendung mit UDP Netzwerkprogrammierung 2
A RMI Wo treten Exceptions bei RMI Aufrufen auf? Auf Client oder auf Server? Netzwerkprogrammierung 3
A ByteBuffer - Client/Server Netzwerkprogrammierung 9
K C# Server - Android Client Netzwerkprogrammierung 0
P MIME-TYPE Erklaerung, Kommunikation zwischen Client und Server Netzwerkprogrammierung 3
J Sichere Kommunikation bei Server Client Netzwerkprogrammierung 3
T Frage zu Client-Server Applikation Netzwerkprogrammierung 2
H Socket Client/Server Socket Programmieren Netzwerkprogrammierung 1
M Theoretische Frage zu Server - Client Netzwerkprogrammierung 2
P HTTP Server / Client Netzwerkprogrammierung 1
E Thematik Client server Netzwerkprogrammierung 2
D Client/Server per Crossover Lan Kabel Netzwerkprogrammierung 1
S Client Server Connection Netzwerkprogrammierung 4
V erste Client - Server Anwendung, paar Fragen wie Socketverbindung checken usw. Netzwerkprogrammierung 4
S Sichere Server/Client Architektur Netzwerkprogrammierung 1
D Chat Server/mehre Client Netzwerkprogrammierung 9
I Server+Client Netzwerkprogrammierung 3
N Client am Server abmelden Netzwerkprogrammierung 0
F Server/Client Probleme Netzwerkprogrammierung 3
U Socket Instant Messanger (Server Linux, Client Windows) Netzwerkprogrammierung 1
Athena Grundsatzfragen zu Client-Server-Architektur / Matchmaking Netzwerkprogrammierung 1
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
F Client Server DB Netzwerkprogrammierung 0
A Verständnisfrage Multi-Threaded Client/Server Netzwerkprogrammierung 5
F Tipps zum Thema Server/Client vie SOAP Netzwerkprogrammierung 0
F Socket Java - Server/Client simple Netzwerkprogrammierung 1
R Zeitliche Syncronisation Server - Client Netzwerkprogrammierung 0
S Server-Client: Image senden Netzwerkprogrammierung 2
C Multithreading Client / Server erklärt Netzwerkprogrammierung 11
P server - client verbindung (anfänger) Netzwerkprogrammierung 8
J Client Server - Serialisierung Netzwerkprogrammierung 8
Luk10 Server / Client: Clients speichern! Netzwerkprogrammierung 6
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
K Client => Server Netzwerkprogrammierung 2
A ? Home-Network, Server/Client-Einrichtung Netzwerkprogrammierung 4
S Socket Server: ConnectionError vom Client erkennen Netzwerkprogrammierung 31
A Java Server - IOS Client Applikation Netzwerkprogrammierung 20
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
M RMI RMI Probleme zwischen Client und Server Netzwerkprogrammierung 5
J Erster Server-Client läuft auf lokalem Rechner problemlos. Zwei Rechner über das Internet nicht Netzwerkprogrammierung 8
N Client-Server-Datenbank Netzwerkprogrammierung 13
Kjubert Synchronisieren von Objekten über Client/Server - bester Weg? Netzwerkprogrammierung 7
B Client/Server Connection Problem Netzwerkprogrammierung 2
S Server Client Daten hin und herschicken Netzwerkprogrammierung 2
R Server zu Client Kommunikation Netzwerkprogrammierung 11
D TCP Verbindung (Java Client und Visual Basic Server) Netzwerkprogrammierung 12
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
V Socket UDP Server/Client Kommunikation sehr langsam Netzwerkprogrammierung 2
das-mo Client/Server sendet nicht Netzwerkprogrammierung 7
Z Socket Server/Client vernünftiger Verbindungsabbruch Netzwerkprogrammierung 4
G Bild über Socket schicken - Client/Server Netzwerkprogrammierung 10
F TCP Server/Client Netzwerkprogrammierung 14
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
Ollek Socket Sucher passende Server/Client Lösung für meine Anwendung Netzwerkprogrammierung 2
N eine klasse mit server & client Netzwerkprogrammierung 5
D RMI Gui auf client updaten basierend auf den Property Änderung des Models auf dem Server ohne polling Netzwerkprogrammierung 12
T Socket Client versucht zyklische Verbindung zum Server Netzwerkprogrammierung 4
S Socket Einfache Client/Server-Anwendung Netzwerkprogrammierung 11
F Socket Server/Client Kommunikation Netzwerkprogrammierung 4
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
D Projektstruktur / Architektur (Client-Server) Netzwerkprogrammierung 9
P Socket IRC Client nicht kompatibel mit Server Netzwerkprogrammierung 30
F FTP Client mit Sockets - wann sagt der Server nichts mehr? Netzwerkprogrammierung 7
B RMI Server - Client - Aufteilung/Prinzip Netzwerkprogrammierung 11
N Server Client TCP IP Netzwerkprogrammierung 3
M Übersicht client/server implementationen und Frameworks (mithilfe gesucht!) Netzwerkprogrammierung 6
J ObjectStream Client/Server Netzwerkprogrammierung 7

Ähnliche Java Themen

Neue Themen


Oben