Kommunikation zwischen ServerSocket und Socket

Status
Nicht offen für weitere Antworten.

Morgyr

Aktives Mitglied
Guten Morgen.

Ich öffnen einen ServerSocket und warte auf eingehende Verbindung. Ein andere Datei beinhaltet den Code zum connecten. Geht die Verbindung beim Server ein, verschickt dieser "success". Der Socket ließt das ein und überprüft, dass das Gesendete auch wirklich "success" war. Daraufhin wird ein Fenster beim Socket geöffnet. Nun möchte ich aber, dass der Socket auch dem Server Daten schickt, die der Server auch benötigt. Sobald ich das zu Implementieren versuche, wird scheinbar nicht mal mehr "success" geschickt oder es wird nicht mehr eingelesen. Aber ist readLine() nicht blockierend?

Code:
Server:
try{						
    ServerSocket serverSocket = new ServerSocket(2500);
    while(true){ 
        Socket socket = serverSocket.accept(); 	  
        PrintWriter out = new PrintWriter(socket.getOutputStream());   	    
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
	out.println("success");	  	    	    
	out.close();
        System.out.println(bufferedReader.readLine());
     }	    	                	       
}
catch(Exception e){
			
}

Code:
Socket:
try{
    Socket socket = new Socket(mainclass.tfip.getText(), 2500);
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    OutputStream out = socket.getOutputStream();
    PrintWriter printWriter = new PrintWriter(out, true);
        		
     if(bufferedReader.readLine().equals("success")){
         new openlobby(0);    
         printWriter.println("opened");   		  			
     }     		      		          		      		
}
catch(IOException e){
        		
}

Das "success" wird vom Server aus versendet, aber beim Socket wird "new obenlobby(0);" nicht geöffnet. Was mache ich falsch? Ich hoffe, ihr könnt mir helfen. Danke im voraus.

Mit freundlichen Grüßen
Morgyr
 
S

SlaterB

Gast
hmm, bei mir klappt der Empfang beim Client, bist du sicher, dass new obenlobby(0) nicht ausgeführt wird?
der Server kann die Antwort des Clients natürlich nicht empfangen, wenn die Verbindung beendet ist

damit du über diese Fehler informiert wirst, muss natürlich in jeden catch
e.printStackTrace();


wenn du auf das close beim Server verzichtest, dann muss ein flush() dahin,
sonst wird nix gesendet (zumindest bei mir)

Code:
public class Server {
	public Server() {
		try {
			ServerSocket serverSocket = new ServerSocket(2500);
			while (true) {
				Socket socket = serverSocket.accept();
				PrintWriter out = new PrintWriter(socket.getOutputStream());
				BufferedReader bufferedReader = new BufferedReader(
						new InputStreamReader(socket.getInputStream()));
				out.println("success");
				out.flush();
//				<out.close();
				System.out.println(bufferedReader.readLine());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

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



public class Client {
	public Client() {
		try {
			Socket socket = new Socket("localhost", 2500);
			BufferedReader bufferedReader = new BufferedReader(
					new InputStreamReader(socket.getInputStream()));
			OutputStream out = socket.getOutputStream();
			PrintWriter printWriter = new PrintWriter(out, true);

			if (bufferedReader.readLine().equals("success")) {
				System.out.println("will open");
				printWriter.println("opened");
				System.out.println("nach open");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

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

Morgyr

Aktives Mitglied
Das Problem lag am flush().
Wenn ich close() benutze, tut sich gar nichts beim Socket. Aufjedenfall kommt das "opened" beim Server mit out.flush() an.
Dass der Code ohne den input beim Server funktioniert, war Unaufmerksamkeit meinerseits. new openlobby(0); (beziehungsweise als 1.Parameter 1) wird vom Server und vom Socket aus aufgerufen ( bzw. wurde, inzwischen ist mir klar geworden, dass ich Threads brauche). Das heißt, dass eigendlich 2 Fenster hätten geöffnet werden müssen. Es war allerdings nur eins und zu meinem Pech nahm ich blind mal an, dass das Fenster vom Socket kam. Der Fehler lag also schon vor der Implementierung der input Methoden am close(). Wieso auch immer.


Vielen Dank SlaterB.

Mit freundlichen Grüßen
Morgyr
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Kommunikation zwischen Shell und Putty Netzwerkprogrammierung 5
temi (Netzwerk-) Kommunikation zwischen Anwendungen. Wie? Netzwerkprogrammierung 5
P MIME-TYPE Erklaerung, Kommunikation zwischen Client und Server Netzwerkprogrammierung 3
C HTTP Studienarbeit Kommunikation via HTTP mit POST zwischen Server und Client Netzwerkprogrammierung 7
D Kommunikation zwischen mehreren Servlets??? Netzwerkprogrammierung 3
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
G Socket Socket Kommunikation Netzwerkprogrammierung 1
T Client zu Client Kommunikation Netzwerkprogrammierung 2
K Socket Nur bestimmte Zeichen als Kommunikation zulassen Netzwerkprogrammierung 1
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
H Android - PC kommunikation Netzwerkprogrammierung 3
S Server Kommunikation Netzwerkprogrammierung 1
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
I Socket Kommunikation C / Java Netzwerkprogrammierung 2
M Kommunikation übers Internet Netzwerkprogrammierung 9
J Sichere Kommunikation bei Server Client Netzwerkprogrammierung 3
Shams Anfängerfrage zu Server-Socket-Kommunikation Netzwerkprogrammierung 2
S Socket Kommunikation über Internet Netzwerkprogrammierung 1
M Socket Verschlüsselte Kommunikation - Fehler Netzwerkprogrammierung 1
I Interne Computer Kommunikation Netzwerkprogrammierung 6
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
R Server zu Client Kommunikation Netzwerkprogrammierung 11
V Socket UDP Server/Client Kommunikation sehr langsam Netzwerkprogrammierung 2
Y HTTP Google Reader API Kommunikation Netzwerkprogrammierung 3
C Socket Kommunikation mit SMTP-Server Netzwerkprogrammierung 4
J Kommunikation von Webanwendungen (auf Tomcat Server) untereinander Netzwerkprogrammierung 8
H Kommunikation Netzwerkprogrammierung 8
F Socket Server/Client Kommunikation Netzwerkprogrammierung 4
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
E Zeitgleiche Kommunikation, mögliche Ansätze Netzwerkprogrammierung 17
1 Java to Android TCP Kommunikation Netzwerkprogrammierung 2
O php - applet Kommunikation Netzwerkprogrammierung 9
D HTTP Java HTTP Kommunikation Netzwerkprogrammierung 9
1 SSH-Kommunikation - Ende eines Streams nicht erkenntlich Netzwerkprogrammierung 2
R Kommunikation TCP + UDP Netzwerkprogrammierung 3
S RMI RMI-Applet kommunikation funktioniert nicht Netzwerkprogrammierung 8
1 Kommunikation mit externem Programm über TCP Netzwerkprogrammierung 2
D Server-Client (Web) Kommunikation Netzwerkprogrammierung 9
E Client-Server-Kommunikation Netzwerkprogrammierung 13
DamienX Socket Asnchrone Kommunikation Netzwerkprogrammierung 5
Raidri Rückwertige RMI Kommunikation Netzwerkprogrammierung 6
S TCP/IP-Kommunikation ist zu langsam Netzwerkprogrammierung 13
G Datagram-Sockets für UDP-Kommunikation Netzwerkprogrammierung 2
G java asynchrone kommunikation Netzwerkprogrammierung 8
B Rmi Kommunikation Server zu mehreren Clients? Netzwerkprogrammierung 3
G Problem mit Client-Server Kommunikation Netzwerkprogrammierung 4
N Servlet-RMI Kommunikation Netzwerkprogrammierung 8
G Objecte für Kommunikation nutzen Netzwerkprogrammierung 2
L http kommunikation mit und ohne multipart Netzwerkprogrammierung 4
D Einfache Applet-Servlet-Kommunikation Netzwerkprogrammierung 5
G unvollständige Daten: Http Client-Server-Kommunikation Netzwerkprogrammierung 2
RaoulDuke RMI Kommunikation Java <-> Perl Netzwerkprogrammierung 7
M Servlet - Applet Kommunikation Netzwerkprogrammierung 3
S Kommunikation zweier Java-Programme Netzwerkprogrammierung 6
J client/server kommunikation Netzwerkprogrammierung 3
T Kommunikation auf Byte-Ebene zw. C und Java via Socket Netzwerkprogrammierung 12
M Client-Kommunikation ohne Server Netzwerkprogrammierung 7
S Kommunikation Fortran <-> Java auf Client-Server-Archi Netzwerkprogrammierung 2
J Kommunikation zw. Server und mehreren Clints haut nicht hin Netzwerkprogrammierung 2
K Socket Kommunikation Netzwerkprogrammierung 3
K Applet - Servlet Kommunikation ohne Sockets Netzwerkprogrammierung 5
R applet servlet kommunikation Netzwerkprogrammierung 2
G JINI über RMI // Client-Server Kommunikation Netzwerkprogrammierung 4
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
M Socket Netzwerk Übertragung zwischen 4 Clients Netzwerkprogrammierung 2
J VideoStreaming zwischen 2 Geräten Netzwerkprogrammierung 1
M Socket peer to peer Verbindung zwischen Java und Matlab Netzwerkprogrammierung 0
S Bluetooth Verbindung zwischen Android app und Raspberry Pi 3 Netzwerkprogrammierung 1
M Verbindung zwischen zwei Pc in dem Selben Netzwerk Netzwerkprogrammierung 8
O Client zwischen XML und JSON auswählen lassen Netzwerkprogrammierung 2
F Verbindung zwischen Server und handy Netzwerkprogrammierung 1
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
D Chatprogramm zwischen zwei ChatClients (aktiv/passiv) Netzwerkprogrammierung 1
J Direkter Datenaustausch zwischen Servern Netzwerkprogrammierung 5
V Unterschied zwischen cURL und HttpURLConnection?? Netzwerkprogrammierung 2
M RMI RMI Probleme zwischen Client und Server Netzwerkprogrammierung 5
N Datenaustausch zwischen Java-GUI und PHP-Programm über SOAP Netzwerkprogrammierung 19
V Datensätze zwischen verschiedenen Datenbanken kopieren Netzwerkprogrammierung 2
F Peer to Peer Verbindung zwischen mehreren Clients? Netzwerkprogrammierung 8
G Verbindung zwischen PC und Handy Netzwerkprogrammierung 10
K Datenaustausch zwischen Applet und JSP Netzwerkprogrammierung 4
C Verbindung zwischen 2 Computern herstellen Netzwerkprogrammierung 12
L RMI-Objekt zwischen zwei RMI-Servern kopieren Netzwerkprogrammierung 2
J Socketverbindung zwischen Javaclient und C-Server Netzwerkprogrammierung 11
R Kommunikationsproblem zwischen JAVA-client und C-Server Netzwerkprogrammierung 5
B Verbindung zwischen Client und Server Netzwerkprogrammierung 2
0 Socketverbindung zwischen PHP und Java? Netzwerkprogrammierung 6
G Chat zwischen applets: möglich? Netzwerkprogrammierung 2
M RMI zwischen verschiedenen Java Versionen Netzwerkprogrammierung 2
N UDP zwischen Java und C++ funktioniert nicht. Netzwerkprogrammierung 4
M Objekte senden zwischen Java und PHP mit SOAP Netzwerkprogrammierung 9
S Objekte zwischen Client und Server über Sockets senden Netzwerkprogrammierung 2
P Zeit zwischen mehreren Client log-ins bestimmen. Netzwerkprogrammierung 2
E Custom E Mail Adresse mithilfe Serversocket oder ähnliches Netzwerkprogrammierung 21
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
D ServerSocket - Socket Verbindungsart Netzwerkprogrammierung 3
J 1 Socket - 2 Serversocket Netzwerkprogrammierung 4
J Client - Serversocket Netzwerkprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben