Hallo,
Ich bin immer noch bei meinem raytracer und da ich jetzt angefangen habe, komplexere videos zu rendern, habe ich angefangen, das rechnen über mehrere rechner im netzwerk zu verteilen mittels server und client.
jetzt kommt die szene, die zu rendern ist, beim client an, wird korrekt berechnet, ins png format gebackt und soll als bytearray in einer klasse "paket" (das byte array und die nummer des frames) zurück zum server gesandt werden.
es klappt genau bis zu dem writeObject. Warum macht der da nicht weiter ?
vor allem das merkwürdige ist, dass es irgendwann mal gekappt hat ...
ach ja das sind die streams
also wäre nett, wenn ihr mir sagen könntet, warum der das nich senden will
Ich bin immer noch bei meinem raytracer und da ich jetzt angefangen habe, komplexere videos zu rendern, habe ich angefangen, das rechnen über mehrere rechner im netzwerk zu verteilen mittels server und client.
jetzt kommt die szene, die zu rendern ist, beim client an, wird korrekt berechnet, ins png format gebackt und soll als bytearray in einer klasse "paket" (das byte array und die nummer des frames) zurück zum server gesandt werden.
es klappt genau bis zu dem writeObject. Warum macht der da nicht weiter ?
Code:
// szene s
bild b=new bild(s.getX(), s.getY());
b.setNummer(s.getNummer());
s.setBild(b);
s.rendern(); //<< hier wird das bild berechnet
System.out.println("Fertig!");
b=s.getBild(); //<< hier hol ich mir das bild ( ein float array)
byte[] o=bild2Png(b); //<< wird zu png gepackt und als byte[] ins paket getan
paket p=new paket(o, b.getNummer());
System.out.println("Bild komprimiert !"+o.length/1024+" KB");
oos.writeObject(p); // <<< !!!!!!!!! wieso soll das nich gehen ??
oos.flush();
System.out.println("Daten zum server gesandt! ");
s=null;
vor allem das merkwürdige ist, dass es irgendwann mal gekappt hat ...
ach ja das sind die streams
Code:
Server=new Socket(ip, port);
System.out.println("Client erstellt: "+ip+"; "+port);
os=Server.getOutputStream();
oos=new ObjectOutputStream(os);
is=Server.getInputStream();
ois=new ObjectInputStream(is);
also wäre nett, wenn ihr mir sagen könntet, warum der das nich senden will