Socket - Server verbindung

Status
Nicht offen für weitere Antworten.
F

Foufou

Gast
Hallo

Ich bestimmt ein anfanger Problem :oops:
Ich schicke die Informationen an Server das Problem ich kann die angekommene Informationen nicht weiter bearbeiten

Die erste System.out.println bekomme ich auf jeden Fall "System.out.println("Null objekt empfangen" + in);"
aber wenn ich read mache und es augeben möcht dann passiert nichts "System.out.println("sinvolles empfangen" + in.readObject());" :cry:
kann jemanden mir ein Tipp geben.

Danke :wink:

Mein Code sieht wie folgt aus:
Code:
import java.io.*; 
import java.net.*;
import java.io.Serializable.*; 

public class EchoServer implements Serializable{ 

  public static void main(String[] argv) 
  { 
    DBManager datenbank = new DBManager();

    try 
    { 
	     ServerSocket serverSocket = new ServerSocket(1234); 
	     Socket clientSocket = serverSocket.accept(); 
	     ObjectOutputStream out = new ObjectOutputStream(clientSocket.getOutputStream()); 
	     ObjectInputStream in = new ObjectInputStream(clientSocket.getInputStream()); 
	 
	     System.out.println("Null objekt empfangen" + in);
	     
	     in.readObject();
	     
	     System.out.println("sinvolles empfangen" + in.readObject());
	     
		 Anfrage anfrage, antwort;
		 String s = ((Anfrage)in.readObject()).gettitel();
		 System.out.println("s");
		 anfrage = (Anfrage)in.readObject();
		 System.out.println("_3");
		 
		 Thread.sleep(5000);
		 
	      if((anfrage = (Anfrage)in.readObject()) == null)
	      {
	    	  System.out.println("_3");
		      datenbank.getDaten(anfrage);
		      System.out.println("_3");
		      out.writeObject(anfrage); 
	      }
	
	      out.close(); 
	      in.close(); 
	      clientSocket.close(); 
	      serverSocket.close(); 
    } 
    catch (UnknownHostException uhe) 
    { 
      System.out.println(uhe); 
    } 
    catch (Exception ioe) 
    { 
      System.out.println(ioe); 
    }
    
  } // main
}
 

Illuvatar

Top Contributor
1. Ich geh mal davon aus, dass du gleichzeitig einen sinnvollen - dazu passenden - Client laufen lässt ;)

2. In "System.out.println("sinvolles empfangen" + in.readObject());" liest du nochmal ein Object. Ist das Absicht?
Bzw. scheinst das vielleicht ein genereller Fehler bei dir zu sein. in.readObject liest jedesmal ein neues Objekt! Du solltest dir das das erste Mal in einer Variable speichern, und dann das verwenden.
 
F

Foufou

Gast
ja es ist richtig habe es jetzt geändert aber habe immer
noch das Problem das ich den Objekt weiter verwenden kann, wenn ich zb. den Titel abfrage gibt mir null zurück
 

The_S

Top Contributor
Poste bitte mal deinen aktualisierten Code und den passenden Client dazu, das schaut für mich nämlich alles ein wenig arg zerstört aus ;).
 
F

Foufou

Gast
Hi
Ja ich finde den Fehler nicht :)
Hier ist mein Server Code

Server :

public class EchoServer implements Serializable{

public static void main(String[] argv)
{
DBManager datenbank = new DBManager();
Anfrage anfrage = null;
try
{
ServerSocket serverSocket = new ServerSocket(1234);
Socket clientSocket = serverSocket.accept();
ObjectOutputStream out = new ObjectOutputStream(clientSocket.getOutputStream());
ObjectInputStream in = new ObjectInputStream(clientSocket.getInputStream());


Anfrage antwort = null;
anfrage = (Anfrage)in.readObject();

Thread.sleep(5000);

if(anfrage != null)
{
System.out.println("_3");
datenbank.getDaten(anfrage);
Thread.sleep(5000);

out.writeObject(antwort);
}

out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
catch (UnknownHostException uhe)
{
System.out.println(uhe);
}
catch (Exception ioe)
{
System.out.println(ioe);
}

} // main
}

und hier ist mein Client:
public class EchoClient implements Serializable {


//Object[][] daten;
Anfrage request = null;
Anfrage reponse = null;
public void getResponse(Anfrage anfrage) {

try {
String host = "homi.";
Socket meinEchoSocket = new Socket(host,1234);
this.request = anfrage;
System.out.println( "Client : Hier bei Film-Suchen " +request.gettitel());

//Senden & empfangen
ObjectOutputStream out = new ObjectOutputStream( meinEchoSocket.getOutputStream());
ObjectInputStream in = new ObjectInputStream( meinEchoSocket.getInputStream());

// objekt senden
out.writeObject(request);

// warten auf response
while(reponse == null)
{
this.reponse = (Anfrage)in.readObject();
System.out.println("Hier beim Client" + reponse.gettitel());
System.out.println("Hier beim Client");
}

System.out.println("Host = "+host);
System.out.println("Echo = "+request.gettitel());

out.close();
in.close();
meinEchoSocket.close();
}
catch (UnknownHostException uhe) {
System.out.println(uhe);
}
catch (Exception ioe) {
System.out.println(ioe);
}

}

Der objekt was ich bekomme im Server ist Null ich kann es nicht weiter verarbeiten und die zugehöriger Informationen aus der Datenbank abfragen : (
 
F

Foufou

Gast
Sorry das ich mein Code nicht gepostet habe ich weiss leider nicht wie es geht :/
 

The_S

Top Contributor
Sicher das request im Client nicht schon vor dem Senden null ist?

btw: schreibe nach deinem Code ein [/code] und vor deinem Code ein
Code:
 
F

Foufou

Gast
ja sicher weil wenn ich in meinem client die variabel abfrage
[/code] System.out.println( "Client : Hier bei Film-Suchen " +request.gettitel());
Code:
gibt er mir den Namen zurück
 

The_S

Top Contributor
Mal so nebenbei, wo gibt er dir null zurück? Beim Server oder beim Client (und dann bitte auch wo genau)? Mir kommt es nämlich langsam so vor als würde das Object nie beim Server ankommen.
 
F

Foufou

Gast
Er gibt mir dann die Null beim Server

anfrage = (Anfrage)in.readObject();
wenn ich versuche jetzt den Titel auszugeben hier beim Server
anfrage.gettitel() dann bekomme ich ein Null
aber komische weise geht er in die if rein
if(anfrage != null)
und er leitet den Objekt weiter an der Datenbank Klasse
dort wenn ich noch einmal die variabel abfrage gibt mir Null zurück?
 

The_S

Top Contributor
Also, er hat auf jedenfall ein Objekt der Klasse Anfrage empfangen, weil

1. Wenn du irgendwo ein objectinputstream.readObject() hast, dann macht er solange im Code nicht weiter, bis auch ein Objekt ankommt.
2. Wenn es kein Objekt der Klasse Anfrage wäre, würde er eine ClassCastException werfen

. Könnte es also sein, dass der Fehler evtl. in der Klasse DBManager oder Anfrage liegt?
 
F

Foufou

Gast
Hi
Ich wollte dir danken, es funktioniert jetzt
Ich habe den Fehler die ganze Zeit beimServer und Client gesucht und der Fehler lag bei der Klasse Anfrage :)
Danke noch einmal
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Socket Server Anwendung - Empfang eines Byte-Arrays Allgemeine Java-Themen 7
A Socket-Server ohne Terminal laufen lassen [Windows] Allgemeine Java-Themen 5
W Socket.setSoTimeout -> BufferedReader -> Default value Allgemeine Java-Themen 4
F Einfaches Beispiel mit Netty Socket.IO Allgemeine Java-Themen 6
A ByteArray über Socket Allgemeine Java-Themen 3
Master3000 Java Port reset (Socket) Allgemeine Java-Themen 6
J socket closed - wie behandeln. Allgemeine Java-Themen 2
E Socket Java Socket Antwortet nicht. Allgemeine Java-Themen 2
J Could not convert socket to TLS - gestern liefs noch Allgemeine Java-Themen 2
Meeresgott Input/Output Java Socket Verbindung Allgemeine Java-Themen 1
D Socket Verbindung mit TLSv1 Allgemeine Java-Themen 1
C Input/Output Zip Files über Socket senden und empfangen Allgemeine Java-Themen 6
O Socket-Unterschiede zwischen Windows und Ubuntu Allgemeine Java-Themen 2
J Bytes aus Socket lesen Allgemeine Java-Themen 9
D Socket Java Socket Verbindung Allgemeine Java-Themen 14
T Serialisiertes Objekt über Socket nachladen Allgemeine Java-Themen 8
R Socket verbindung mit Timeout Allgemeine Java-Themen 2
N InputStreamReader-> DataInputStream-> Socket.getInputS Allgemeine Java-Themen 25
G Java Socket langsam unter Linux Allgemeine Java-Themen 21
P Typ Object in socket umwandeln Allgemeine Java-Themen 4
T OO zum drucken/convertieren ohne Socket Allgemeine Java-Themen 8
T ObjectOutputStream => Socket versenden Allgemeine Java-Themen 2
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
javaBoon86 Email Server Connection Problem Allgemeine Java-Themen 1
E Server Client Audio Allgemeine Java-Themen 6
E Server Client Audio Allgemeine Java-Themen 0
Jose05 Speicherung auf einem Server Allgemeine Java-Themen 1
D Live-Scripting im Server Allgemeine Java-Themen 6
Monokuma Threadproblem mit Sockets und Server Allgemeine Java-Themen 7
T imagej-server NullPointerException Allgemeine Java-Themen 1
TonioTec Api für Datenaustausch zwischen Client und Server Allgemeine Java-Themen 0
W Server-Thread schreibt nicht alle Dateien Allgemeine Java-Themen 6
C Java RMI Client - Server Allgemeine Java-Themen 0
B Datei/Ordner auf Server zugreifen/erstellen Allgemeine Java-Themen 2
M TomEE auf Windows Server 2016 installieren Allgemeine Java-Themen 4
bueseb84 Git : Mehrere Server verwenden Allgemeine Java-Themen 3
P Am Application Server - Selbe files aber trotzdem CNF Allgemeine Java-Themen 2
KeexZDeveoper Zugriff auf Methoden vom Server Allgemeine Java-Themen 7
J Java - hoher Ramverbraucht auf WTS Server Allgemeine Java-Themen 8
C TCP Server und BufferedReader Leerstring im Stream? Allgemeine Java-Themen 5
C Logfile upload zu einem externen filezilla sftp server Allgemeine Java-Themen 6
S Simples Client Server Setup in Java Allgemeine Java-Themen 4
K Server mieten, Berechnungen darauf ausführen Allgemeine Java-Themen 14
Anfänger2011 Java Server oder lieber was anderes Allgemeine Java-Themen 16
F Best Practice Server und Clients Allgemeine Java-Themen 10
E JavaFX RMI extrem langsam wenn Server nicht läuft Allgemeine Java-Themen 5
D Best Practice Java Application Server , Docker oder was? Allgemeine Java-Themen 15
L Suche nach CalDav Server API Allgemeine Java-Themen 0
C Hang Man Server Client Allgemeine Java-Themen 3
C Hang man mit Server/Client Allgemeine Java-Themen 2
K Classpath JDBC Driver auf Server Allgemeine Java-Themen 4
J Programm meldet "Keine Rückmeldung" nach Verbindung zum Server Allgemeine Java-Themen 4
I Installer, der JAVA EE Server und DB installiert Allgemeine Java-Themen 10
M Kapselung JasperReports Server und Java Allgemeine Java-Themen 5
P Java Fehler auf Win2008 Server java.io.FilePermission IE8 Version JRE 1.7.0_51 Allgemeine Java-Themen 7
M Dateien aus einem Verzeichnis auf einem Server auflisten Allgemeine Java-Themen 5
M Checksummenprüfung bei Client Server kommunikation Allgemeine Java-Themen 3
C Mit Pc Awendungen auf Server starten Allgemeine Java-Themen 8
B Input/Output Server Startet, Jedoch Kein Output. Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
E Socket Client-Server-Programmierung Allgemeine Java-Themen 44
T Java Streaming-Server & Streaming-Client Allgemeine Java-Themen 4
R Fragen zu Server + UI Allgemeine Java-Themen 2
0 Lösungsweg Client Server Kommunikation Fehlermeldung ausgeben Allgemeine Java-Themen 12
D Client / Server Allgemeine Java-Themen 23
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
U AWT simulierter Tastendruck auf Virtual Server Allgemeine Java-Themen 7
Z Socket [Chatprogramm] Nachrichten vom Server anzeigen lassen Allgemeine Java-Themen 6
E Methoden Server Benutzer abfrage Allgemeine Java-Themen 2
N COM Server ansteuern / KISSsoft Allgemeine Java-Themen 3
N URLConnection - Server abgeschaltet Allgemeine Java-Themen 2
A Parser verursacht Speicherprobleme auf Server Allgemeine Java-Themen 2
T Mit Java auf Dateien zugreifen die auf einem Server liegen Allgemeine Java-Themen 5
J Problem beim Auslesen einer Datei vom Server Allgemeine Java-Themen 4
T jar Archiv auf Server ausführen Allgemeine Java-Themen 3
J Application Server Allgemeine Java-Themen 2
A Input/Output Applet-Zugriff auf PHP-Schnittstelle (externer Server) Allgemeine Java-Themen 22
C game-server GUI erstellen Allgemeine Java-Themen 13
Developer_X Java FTP - Ordner auf Server erstellen Allgemeine Java-Themen 7
C Java Server Pages Problem Allgemeine Java-Themen 6
T Gleichzeitige Zugriffe auf Daten auf dem Server Allgemeine Java-Themen 11
M Server-Responds testen, Code-Redundanz Allgemeine Java-Themen 3
T JPA Entity im Client-Server-Umfeld Allgemeine Java-Themen 19
C Primzahlen Server Allgemeine Java-Themen 3
K Server Daten Visualisieren Allgemeine Java-Themen 3
S FTP Gezippte Datei von FTP Server downloaden Allgemeine Java-Themen 24
T Zeit von einem Server/Webseite auslesen und in eigener GUI anzeigen Allgemeine Java-Themen 6
B verbindung mit exchange server Allgemeine Java-Themen 3
AlexSpritze Alle Domains oder FQDN von einem Server erfragen? Allgemeine Java-Themen 2
H SwingWorker statt Thread für einen Server Allgemeine Java-Themen 2
D Versuch Server - Client anwendung Allgemeine Java-Themen 9
M Frage zum Auslesen einer Datei auf nem Server Allgemeine Java-Themen 4
ruutaiokwu MS Exchange Server 2003 Daten auslesen Allgemeine Java-Themen 2
T Welcher Server? JSP und Client-Anwendung Allgemeine Java-Themen 4
Final_Striker Datei vom Server bekommen Allgemeine Java-Themen 2
H Server Threaded machen. Port-Problem Frage Allgemeine Java-Themen 2
W programm auf server Allgemeine Java-Themen 5
C Java Polling, Server Prozedur oder doch Datenbank? Allgemeine Java-Themen 4
MQue Server- Thread Client Allgemeine Java-Themen 2
N Daten auf Server kopieren Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben