komisches Problem / ObjectInputStream erstellt sich nicht

Status
Nicht offen für weitere Antworten.

cyberpunk

Mitglied
Hallo,
habe ein ein bisschen komisches Problem und komm einfach nicht weiter....
wäre euch super dankbar wenn ihr mir helfen könnt


Zum Code:

Es handelt sich um eine ganz normale Socket Verbindung, die ich erstellen will...
ich will jeweils einen
BufferedReader in;
PrintStream out ;
ObjectOutputStream objOut;
ObjectInputStream objIn;

erstellen um sowohl einfach Strings als auch Objekte schicken zu können.



Java:
public class ClientConnectionTechnisch extends Thread{
	ClientConnectionController controller;
	BufferedReader in;
	PrintStream out ;
	ObjectOutputStream objOut;
	ObjectInputStream objIn;
	Socket client;
	boolean recieveObject=false;
	
	public ClientConnectionTechnisch( Socket client,ClientConnectionController controller){
		this.controller=controller;
		this.client=client;
		try
		{

			in = new BufferedReader(newInputStreamReader(client.getInputStream())); 
			System.out.println("ok");
			out = new PrintStream(client.getOutputStream());
			System.out.println("ok");
			objOut=newObjectOutputStream(newBufferedOutputStream(client.getOutputStream()));
			System.out.println("ok");
			
			objIn = new ObjectInputStream(new BufferedInputStream(client.getInputStream())); 
			System.out.println("ok");
		} catch (Exception e){}

		this.start();
	}


Das Problem was nun auftauch ist folgendes:
alle Input und Output Sachen werden im Konstruktor erstellt....
aber wenn es daran geht den letzten, den ObjectInputStream objIn zu erstellen geht es einfach nicht weiter....
auch an meiner Konsolenausgabe zu erkennen die ist : ok ok ok


nun frag ich mich, warum erstellt es denn den ObjectInputStream nicht...?
Fehlermeldung gibt es keine...bleibt irgendwie anscheinend nur ewig da hängen
 

cyberpunk

Mitglied
hi, ersma danke für deine Antwort,

guter Hinweis
nur leider hatte ich das Exception Handling der Übersicht halber hier rausgenommen

Java:
objIn = new ObjectInputStream(new BufferedInputStream(client.getInputStream())); 
			System.out.println("ok");
		} catch (Exception e)
		{
			System.out.println("mhnnz");
			try {e.printStackTrace(); client.close(); } catch (Exception e2) {e2.printStackTrace();} ;	
			System.err.println("Fehler beim Erzeugen der Streams: " + e);
			return;
		}
		this.start();


sieht so aus in meinem Code
und wie gesagt Ausgabe ist nur:

ok
ok
ok

also muss es ja da hängen, weil sonst würd er ja das mhhnz von der Exception ausgeben oder das 4te ok



fällt dir vlt. sonst noch irgendwas ein
oder kommt dir noch was komisch vor ?
vielen Dank schonmal
 

cyberpunk

Mitglied
puhh ich habs endlich

beim ObjectInputStream und OutputOutputStream

musste der Part mit dem BufferedInputStream entfernt werden

also von

objIn = new ObjectInputStream(new BufferedInputStream(client.getInputStream()));

auf
objIn = new ObjectInputStream(client.getInputStream());


hmnnn aba Erklärung hab ich dafür keine ^^
 

cyberpunk

Mitglied
mhn mist es geht zwar nun aber es gibt Fehler ohne Ende....grml


vlt kann mir ja mal jmd gedanklich helfen:


also Idee war, dass man sowohl Strings als auch Objekte schicken kann
deswegen
BufferedReader in;
PrintStream out ;
ObjectOutputStream objOut;
ObjectInputStream objIn;

diese beziehen sich alle entweder auf client.getInputStream() oder client.getOutputStream();

beim Empfangen mach ich das so, dass der BufferedReader in solange in der run des Threads mit in.readLine() weiter macht bis er eine Nachricht "sendObject" erhält
dann setzt er eine boolean Variable und es geht nicht mehr in in.readLine() sondern zu objIn.readObject() nachdem er das eine Object empfangen hat wird flag wieder zurück gesetzt

Java:
public void recieve(){
		
		if (!recieveObject) {
			String empfangenes="";
			try {
				empfangenes = in.readLine();
			} catch (IOException e) {
				e.printStackTrace();
				System.out.println("Fehler bei Datenempfang vom Client");
				controller.logout();
			}		
			if (empfangenes.equals("sendObject")) {
					recieveObject=true;
					return;
			}
			if ((empfangenes!=null)&&(empfangenes!="")){ 
				controller.verarbeite(empfangenes);
			}
		}
		
		if (recieveObject) {
			Table t=null;
			try {
				 t=(Table) objIn.readObject();
			} catch (Exception e) {
				e.printStackTrace();
				System.out.println("Fehler bei Datenempfang vom Client");
				controller.logout();
			}
			
			recieveObject=false;
			controller.verarbeiteTable(t);
		}
	
	}

diese methode läuft dauerhaft in der run() des Threads



Java:
public void send(String nachricht) {
	    out.println(nachricht);
	    out.flush();
	}
	
	public void sendTable(Table table) {
			
			send("sendObject");
			try {
				objOut.writeObject(table);
				objOut.flush();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}

diese Methoden werden zum sendne der Ojekte (typ Table) und der Strings verwendet

man kann sich vorstellen, dass beide Seiten der Applikation gleich aussehen also recieve und send methoden in etwa gleich sind



das Problem ist, mir hat es Exceptions um die Ohren

und bei meinem Test, der so aussieht, dass ich die eine Seite erst einen String dann ein Objekt senden lasse
und dann das selbe auch die andere Seite
läuft es so, dass teilweise nur der String ankommt, dann mal wieder String und Objekt
oder aber auch eine Fehlermeldeung wie diese:


java.io.EOFException
at java.io_ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2565)
at java.io_ObjectInputStream.readObject0(ObjectInputStream.java:1308)
at java.io_ObjectInputStream.readObject(ObjectInputStream.java:362)
at ClientTechnisch.recieve(ClientTechnisch.java:74)
at ClientTechnisch.run(ClientTechnisch.java:45)



mir ist das alles ein Rätsel...-.-
 
S

Spacerat

Gast
Lass den ganzen Reader / Writer-Kram einfach weg. Strings können auch über den ObjectStream geschickt werden. Im übrigen implementiert String auch das Interface Serializable.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Komisches Fenster bei Serversocket Netzwerkprogrammierung 2
I Socket Problem mit den WebSocket Antworten der Discord API Netzwerkprogrammierung 0
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
C RMI Produzent-Verbraucher-Problem - Code review Netzwerkprogrammierung 12
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
S Problem bei dem Bluetoothverbindungsaufbau Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
M Netty - TCP Problem Netzwerkprogrammierung 4
L Socket Problem mit Server Netzwerkprogrammierung 1
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
M Socket CDI, Websocket reference Problem ! Netzwerkprogrammierung 2
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
G apache httpClient Problem. Netzwerkprogrammierung 5
H Problem mit ObjectStreams Netzwerkprogrammierung 3
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
D Socket BufferedWriter/Reader Problem Netzwerkprogrammierung 1
Maxim6394 Problem mit Socks5 Implementierung Netzwerkprogrammierung 0
C Handle Connection Problem Netzwerkprogrammierung 3
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
E einfaches Problem: Session-Handling bei Servlets Netzwerkprogrammierung 5
G Problem mit einem FileWatcher Netzwerkprogrammierung 7
T Socket Server starten Thread Problem Netzwerkprogrammierung 12
B Client/Server Connection Problem Netzwerkprogrammierung 2
G Problem mit STATIC-Verständnis Netzwerkprogrammierung 8
S Umstellung AS400 auf Postgre - Problem beim Arbeiten mit Metadaten Netzwerkprogrammierung 2
J Facelets Include Rendered Problem Netzwerkprogrammierung 2
J Socket Problem mit C++/Java Netzwerkprogrammierung 20
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
G Socket NIO2 Problem mit AsynchronousSocketChannel beim Schließen Netzwerkprogrammierung 3
G Cookie Verwaltungs Problem nach Login auf InetSeite (Wo utma-Cookie?) Netzwerkprogrammierung 18
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 7
B Socket Problem mit Netzwerkchat Netzwerkprogrammierung 21
D RMI Problem beim shutdown von verteilter CORBA-Anwendung Netzwerkprogrammierung 6
Maxim6394 ipv6 Problem Netzwerkprogrammierung 2
Maxim6394 Proxyserver Performance Problem Netzwerkprogrammierung 11
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 5
B RMI und Problem mit rmic-Tool Netzwerkprogrammierung 3
C FTP storeFileStream Problem Netzwerkprogrammierung 3
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
D JavaMail - Mailsabrufen Problem (imap) Netzwerkprogrammierung 12
J HTTP Übersetzung yahoo babelfish - Zeichensatz-Problem Netzwerkprogrammierung 6
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Problem beim Datenempfang Netzwerkprogrammierung 2
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
N NIO Problem beim speziellen Behandeln von einzelnen Benutzern Netzwerkprogrammierung 13
D Thread problem Netzwerkprogrammierung 3
T Servlets JSP: Tomcat Problem Netzwerkprogrammierung 4
K Client - Server Problem Netzwerkprogrammierung 16
T RMI Problem Client-Server Netzwerkprogrammierung 2
P RMI Stub Problem Netzwerkprogrammierung 3
D Socket UDP Übertragungs Problem Netzwerkprogrammierung 7
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
D Problem mit ObjectInputStreams Netzwerkprogrammierung 10
D Socket Problem mit InputStreamReader Netzwerkprogrammierung 3
N CRC32 CheckSum Problem bei UDP Netzwerkprogrammierung 2
V Java Mail Api - IMAP Problem Netzwerkprogrammierung 6
P RMI Problem Netzwerkprogrammierung 4
I Problem bei Outputstreamerzeugung in anderer Klasse als Socket Netzwerkprogrammierung 5
S Socket Problem mit Objektübertragung Netzwerkprogrammierung 16
Shoox Reader / Writer Problem Netzwerkprogrammierung 2
S Problem mit 2 Serversockets unter Win XP Netzwerkprogrammierung 7
P Socket Problem mit Netzwerkverbindung über TCP Netzwerkprogrammierung 12
M RMI - Connection Problem Netzwerkprogrammierung 7
J Socket Client - Server Problem Netzwerkprogrammierung 4
M Socket Chat-Client-Problem Netzwerkprogrammierung 8
D Client Server Problem, Methode readline() löst SocketException "Connection reset" aus Netzwerkprogrammierung 8
E HTTP Problem beim Auslesen von Websiten Netzwerkprogrammierung 6
T Problem bei Findung der richtigen Architektur Netzwerkprogrammierung 3
AlexSpritze Authentication Problem bei WebServices Netzwerkprogrammierung 4
J Socket Problem -Proxies Netzwerkprogrammierung 2
R HTTP Problem bei Authentifizierung über (Http)UrlConnection Netzwerkprogrammierung 2
F Konzept Problem Netzwerkprogrammierung 12
G NIO Sockets Architektur Problem Netzwerkprogrammierung 2
H Neues NIO problem nachricht an alle clients Netzwerkprogrammierung 3
J Client server problem Netzwerkprogrammierung 3
S Problem bzgl. Sockets / Server-Client-Struktur Netzwerkprogrammierung 3
W RMI Problem Netzwerkprogrammierung 4
M Problem mit Server Netzwerkprogrammierung 5
N Socket Java server c# client problem Netzwerkprogrammierung 7
Y Problem mit ObjectInputStream beim lesen vom Socket Netzwerkprogrammierung 10
R RMI Hibernate Problem Netzwerkprogrammierung 4
Z RMI Problem Netzwerkprogrammierung 11
F RMI problem mit RMI Netzwerkprogrammierung 3
H Object Cast Problem nach Übertragung mit Log4j Netzwerkprogrammierung 5
H Log4j SocketAppender Problem Netzwerkprogrammierung 2
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
P Problem mit JOscarLib Netzwerkprogrammierung 6
0din SMTP Client - readline problem Netzwerkprogrammierung 4
W vista / win server 2003 netzlaufwerk problem Netzwerkprogrammierung 4
W Problem mit HTTP-Dateiübertragung Netzwerkprogrammierung 6
E Problem: netbeans 6.5 und webanwendung Netzwerkprogrammierung 6
C Problem mit Übertragung einer Klasse in RMI Netzwerkprogrammierung 10

Ähnliche Java Themen


Oben