senden und empfangen von Objekten?

Status
Nicht offen für weitere Antworten.

SBehnen27

Aktives Mitglied
da das ganze eine aufgabe fürs studium ist, nehme ich den Code raus.


nach dem abgabetermin stelle cih den code gerne wieder rein, wenn danach gefragt wird.

die lösungen von einigen problemen habe ich ja weiter unten beschrieben.
 

SBehnen27

Aktives Mitglied
ich habe mal ncoh ein wenig rumgesucht betreffend object-versenden usw.

ergebnis: ich bin mir nicht mehr so sicher, ob es überhaput möglich ist ein array mit objekten einer klasse so zu versenden, wie oben beschrieben... kann mir da jemand wenigstens soweit auskunft geben?
muss ja nicht gleich source-code sein ^^ *fleht*
 

bambi

Bekanntes Mitglied
Also laut API sollte das ja kein Problem sein...
Kannst Du mal die anderen Klassen posten? Bin zu faul mir das alles durchzulesen :wink: Ich teste das da mal und
schau' ob ich was find...
 

SBehnen27

Aktives Mitglied
hm... also das mit den exceptions... da hätt ich auch mal drauf kommen können:

Code:
System: Server kann nicht senden -> Exception.java.io.NotSerializableException: sun.awt.image.ToolkitImage
System: Server kann nicht empfangen -> IOException.java.io.InvalidClassException: CardHeroes.Karte; local class incompatible: stream classdesc serialVersionUID = -8683094360508585683, local class serialVersionUID = 7039260118284666046
System: Server kann nicht senden -> Exception.java.io.NotSerializableException: sun.awt.image.ToolkitImage
System: Server kann nicht empfangen -> IOException.java.io.StreamCorruptedException


das mit dem bild... tja. keine ahnung.. mal schaun, obs reicht, die bilder mit null zu überschreiben... ma schaun.
der andere fehler sagt mir nichts.
 
N

ncsnk

Gast
Server
Code:
import java.io.*;
import java.net.*;

class testobj implements Serializable
{
	public void bla()
	{
		System.out.println("huhu");
	}
	int testvar;
}

public class netservertest
{		
	public static void main(String[] args) throws IOException, ClassNotFoundException
	{
		ServerSocket ConnectionSocket=new ServerSocket(9999);
		Socket ClientConnection=ConnectionSocket.accept();
		ObjectInputStream StreamIn=new ObjectInputStream(ClientConnection.getInputStream());
		testobj[] a=new testobj[2];
		a[0]=new testobj();
		a[1]=new testobj();
		a[1].testvar=5;
		System.out.println(a[1].testvar);
		a=(testobj[])StreamIn.readObject();
		System.out.println(a[0].testvar);
		a[0].bla();
	}
}
Client
Code:
import java.io.*;
import java.net.*;

class testobj extends Object implements Serializable
{
	public void bla()
	{
		System.out.println("huhu");
	}
	int testvar;
}

public class netclienttest
{
	public static void main(String[] args) throws IOException
	{
		Socket ConnectionSocket=new Socket(Inet4Address.getLocalHost(),9999);
		ObjectOutputStream StreamOut=new ObjectOutputStream(ConnectionSocket.getOutputStream());
		testobj[] b=new testobj[2];
		b[0]=new testobj();
		b[1]=new testobj();
		b[0].testvar=1234;
		StreamOut.writeObject(b);
	}
}

da haste ;)
 

SBehnen27

Aktives Mitglied
wen es interessiert:

wenn man ein objektarray versenden möchte, muss die klasse dieser objekte dieses haben:
Code:
implements Serializable

der fehler, mit dem ich ebend noch nichts anfangen konnte kam daher, dass ich am client eine leicht ältere version der klasse held genutzt habe, die ein weing anders aussah ;)

nachdem ich auf server und client identische klassen habe ist das auch kein problem mehr.

images problem habe ich wie folgt gelöst:
vor dem senden läuft eine schleife durch und setzt alle images auf null
das funktioniert prächtig.


das letzte Problem:


aus irgendeinem grund funktioniert das erste senden.
Danach kommt immer das gleiche array an... also interessierern die änderungen nicht mehr...

Ich habe den Code im ersten Posting mal aktualisiert.
 

SBehnen27

Aktives Mitglied
lösung:

der "fehler" lag im senden.
Es wird nur ein neues objekt gesendet, wenn es sich verändert hat (stichwort Hash-code)
Da sich aber nur die objekte ändern und nicht das array, welches ich verschicke, ändert sich auch der hash-code des arrays nicht.
ergo wird nicht gesendet.

die lösung, die ich nun nutze ist einfach nach dem senden ein
Code:
ObjectOut.reset();

keine ahnung... vll. ist es ja auch möglich, ein senden des objektes zu erzwingen, egal, ob der hash code sich geändert hat, oder nicht.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Server - Mehrere Klassen sollen Daten senden und empfangen Netzwerkprogrammierung 25
Z Socket Probleme beim Senden und Empfangen Netzwerkprogrammierung 5
M Gleicher Port für Senden und Empfangen ? Netzwerkprogrammierung 17
T Empfangen klappt Senden nicht - Connection timed out Netzwerkprogrammierung 12
1 Datei senden/empfangen funzt nicht... Netzwerkprogrammierung 5
M Objekt über socket senden/empfangen Netzwerkprogrammierung 3
KeNnY_tHe_OwNeR Empfangen geht, Senden nicht ?! Netzwerkprogrammierung 18
B Befehle an Gameserver senden bzw. empfangen Netzwerkprogrammierung 2
F Daten senden und empfangen mit Applet Netzwerkprogrammierung 8
M TCP Socket und Server int senden und empfangen Netzwerkprogrammierung 6
F Datei senden und empfangen Netzwerkprogrammierung 4
TRunKX Hilfe beim senden und empfangen Netzwerkprogrammierung 2
D Performance Problem beim File senden, empfangen Netzwerkprogrammierung 4
OnDemand Daten per API senden, parallel Netzwerkprogrammierung 9
M Socket Senden an alle verbundenen Clients Netzwerkprogrammierung 3
S Socket Bilder über Socket Senden Netzwerkprogrammierung 0
E Socket Befehl senden und antowrt bekommen ! Netzwerkprogrammierung 1
S Daten über TCP/IP senden Netzwerkprogrammierung 3
L Strings an Server senden und in MYSQL speichern? Netzwerkprogrammierung 3
L Socket Nachrichten senden Netzwerkprogrammierung 3
D Socket Message an einen Server senden? Netzwerkprogrammierung 8
J HTTP Befehl via HTTP senden ohne Browser öffnen Netzwerkprogrammierung 3
B Java+Grbl: G-Code Befehle mit Java an Arduino senden und lesen Netzwerkprogrammierung 1
M Socket Bilder senden Netzwerkprogrammierung 1
H HTTP REST Jersey - PUT-Beispiel von Client senden Netzwerkprogrammierung 0
W Socket Byte Array senden Netzwerkprogrammierung 2
G Mail senden funktioniert nicht mit SSL Netzwerkprogrammierung 7
M MultiClient Server - Senden an alle Clients Netzwerkprogrammierung 8
X UDP - Zu großes Paket senden Netzwerkprogrammierung 1
fLooojava Daten an ein Arduino im selben Netzwerk senden Netzwerkprogrammierung 1
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
M Teilnehmerliste vom Server auch an alle Clients senden Netzwerkprogrammierung 0
I Kleine Dateien senden Netzwerkprogrammierung 3
K ByteArray über Netzwerk senden klappt nicht Netzwerkprogrammierung 5
S Server-Client: Image senden Netzwerkprogrammierung 2
B Socket BufferedImage senden "ohne speichern" Netzwerkprogrammierung 7
P Socket Daten senden mit ServerSocket? Netzwerkprogrammierung 2
Z Probleme beim Senden von Nachrichten an den Server Netzwerkprogrammierung 9
K Socket Senden und abspeichern Netzwerkprogrammierung 34
T ArrayList über Netzwerk senden! Netzwerkprogrammierung 5
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
D Strings per Schleife zum Client senden Netzwerkprogrammierung 4
D daten per post senden Netzwerkprogrammierung 3
M Senden von Daten nicht direkt möglich? Netzwerkprogrammierung 6
B SSH mit Jsch, mehrere Befehle senden Netzwerkprogrammierung 4
A Socket Server: Message an verschiedene Clients senden Netzwerkprogrammierung 4
F Verschiedene Datentypen senden Netzwerkprogrammierung 4
M Befehle an externes Java-Programm senden Netzwerkprogrammierung 8
Weltall 7 HTTP Dateien an PHP-Skript senden Netzwerkprogrammierung 11
T Outputstream Byte-Array senden Netzwerkprogrammierung 2
N Senden eines Arrays Netzwerkprogrammierung 6
F Char über Netzwerk senden Netzwerkprogrammierung 6
C Befehle über ein GUI an Server senden Netzwerkprogrammierung 15
J Befehle an Server senden Netzwerkprogrammierung 5
L Zeitspanne für erneutes senden Netzwerkprogrammierung 16
Kr0e Ggf. Performanceproblem durch Senden von vielen kleinen Buffern Netzwerkprogrammierung 17
S Socket OutputStreams senden zu oft Netzwerkprogrammierung 6
D Probleme bei mehreren Clients uns Senden von Messages Netzwerkprogrammierung 16
F Erhalten und Senden von Nachrichten anhand des Indexes des Clients Netzwerkprogrammierung 19
Akrillo Datei per Netzwerk senden Netzwerkprogrammierung 10
P Probleme beim weiter senden von Datein Netzwerkprogrammierung 10
T HttpClient - Senden via Post Netzwerkprogrammierung 12
Q Datein von Windows nach Mac senden Netzwerkprogrammierung 4
S Bild-Datei von Servlet an Browser senden Netzwerkprogrammierung 8
M Dateien über TCP/IP senden Netzwerkprogrammierung 18
Q NullPointExeption beim Versuch byte[] zu senden/writen Netzwerkprogrammierung 3
S Probleme beim senden von Daten per POST Methode an PHP Scrip Netzwerkprogrammierung 5
R Mehrere Dateien über einen Socket senden Netzwerkprogrammierung 2
G Information an Server senden? Netzwerkprogrammierung 4
D PDF und integer senden Netzwerkprogrammierung 6
M BufferedImage an PHP-Script senden Netzwerkprogrammierung 4
J Problem beim Senden von File Netzwerkprogrammierung 4
S String[] über Socket senden Netzwerkprogrammierung 3
G unbekannte Zeichen beim senden und lesen Netzwerkprogrammierung 2
V Mehrere Streams durch einen Stream senden Netzwerkprogrammierung 14
T Image aus Applet an PHP Seite senden? Netzwerkprogrammierung 3
D BufferedImage über das Netzwerk senden Netzwerkprogrammierung 2
C Flash Daten an Java senden, wie serialisieren? Netzwerkprogrammierung 3
A Broadcast - senden eines Packetes an alle rechner im netz Netzwerkprogrammierung 15
R Bytes als Rohdaten über Socket senden Netzwerkprogrammierung 3
E rxtx serielles senden von Daten Netzwerkprogrammierung 2
D Socket, Daten über BufferedWriter senden Netzwerkprogrammierung 18
V Problem beim Senden von Dateien Netzwerkprogrammierung 4
W Hexadezimal über RS232 senden Netzwerkprogrammierung 9
L webformular automatisch erstellen, senden und auswerten . Netzwerkprogrammierung 2
G Anfrage an Suchmaschine senden Netzwerkprogrammierung 11
M datagramSocket senden u. empangen? Netzwerkprogrammierung 2
V Java /Matrizen senden über TCP/IP / double Netzwerkprogrammierung 2
W Socket Client-Server Verbindung. Wie Strings senden? Netzwerkprogrammierung 6
M HTTP Requests verarbeiten und Response senden mit Java Netzwerkprogrammierung 14
G Problem bei Objekt senden von server zu client Netzwerkprogrammierung 6
K RMI und kontinuirliches senden von Datenpacketen Netzwerkprogrammierung 2
N Messwerte über TCP senden Netzwerkprogrammierung 3
M Ein HTTP-request aus Java heraus senden Netzwerkprogrammierung 3
N Hexcode an ein Programm senden. Netzwerkprogrammierung 4
I Dateien schnell/synchron senden Netzwerkprogrammierung 2
T Datei senden Netzwerkprogrammierung 3
B Variablen an Server senden Netzwerkprogrammierung 14
R Problem beim Senden von Emails (Javamail) Netzwerkprogrammierung 2
G Strings über Sockets senden Netzwerkprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben