2017-01-20 1 views
-2

Ich habe versucht, eine Lösung für dieses Problem zu finden, aber ich denke, das ist meine letzte Option, um Sie zu fragen. Deshalb möchte ich zwei Array-Listen durch Socket-Stream senden:Übertragung von verschiedenen Objekten durch den Sockel

objects= new ArrayList<GObject>(); 
registry = new ArrayList<Registry>(); 

ich dies mit:

senden an:

outToClient.reset();//outtoclient is an objectoutput stream 
outToClient.writeObject(registry); 
outToClient.reset(); 
outToClient.writeObject(objects); 

erhalten:

registry2=(ArrayList<Registry>) inFromServer.readObject(); 
objects2=(ArrayList<GObject>) inFromServer.readObject(); 

Da die Registrierung reibungslos auf die "andere Seite" kommt, sind die Objekte nicht. Wie kann ich das beheben?

+0

Sie haben diese Frage bereits gestern gestellt. Wirst du es jeden Tag versuchen? – Andremoniy

+0

Ich versuche nur, eine Antwort zu bekommen, – user7441008

+0

Niemand versteht, was ist dein Problem – Andremoniy

Antwort

0

Sie einige Tricks mit Ihrem Programm verwenden können, gebe ich Ihnen ein:

Betrachten werde ich und Object X senden, bevor ich i String eine Fahne von jeder Art zum Beispiel sendet sendet mein Ziel zu informieren, dass ich wird dir eine Object X senden, so dass das Ziel dieses Flag speichert und wenn ich mein Objekt sende, wird es in das richtige Objekt umgewandelt.

Server: Senden flag

Kunde: Empfangen flag und speichern sie

Server: Senden Object X

Kunde: Erhalten Object X

Kunde: Guss Object X das gleiche mit Ihrem Flagge

Zum Beispiel sein:

if(flag.equals("t1")){ 
    registry2=(ArrayList<Registry>) inFromServer.readObject(); 
}else if(flag.equals("t2")){ 
    objects2=(ArrayList<GObject>) inFromServer.readObject(); 
}else{ 
    //... 
} 

Jetzt haben Sie eine Idee, wie Sie es tun können, müssen Sie einfach implementieren es mit deinen eigenen Informationen.

+0

Vielen Dank! – user7441008

+0

Sie sind willkommen @ user7441008 hoffe, das kann Ihnen helfen :) –

+0

Ich bearbeite meine Antwort @ user7441008 Sie können jetzt überprüfen –

Verwandte Themen