| 

.NET C# Java Javascript Exception

3
Beim Versuch ein Bild in regelmässigen Abständen über Socket vom Client an den Server zu schicken, generiert mir die Anwendung verschiedene Exceptions. Das geladene JPG schicke ich mit ImageIO.write und einem ObjectOutputStream an den Server. Dieser gibt das Bild auf einem Jpanel aus. Sowohl das Empfangen, als auch das Senden laufen in einem eigenen Thread in einer while(true) Schleife. Folgende Exceptions erscheinen dabei:

java.lang.IllegalArgumentException: Empty region!
Javax.imageio.IIOException: Invalid JPEG file structure: two SOI markers
java.lang.RuntimeException: New BMP version not implemented yet.
Und noch ein paar mehr.

Hier der Code auf dem Server:

//Server:
ois = new ObjectInputStream(cSocket.getInputStream());
public void run() {
while(true) {
try {
BufferedImage img=ImageIO.read(ois);
if((img) != null){
imgPanel.setImg(img);
imgPanel.repaint();
img = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}


Und hier der Code auf dem Client:

//Client:
oos = new ObjectOutputStream(socket.getOutputStream());
public void run() {
while(true) {
try {
BufferedImage img = r.createScreenCapture(new Rectangle(0,0,1600,900));
ImageIO.write(img, "jpg", oos);
oos.flush();
oos.reset();
} catch (IOException e) {
e.printStackTrace();
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}


Was bedeuten die Fehlermeldungen und wie kann ich diese abstellen?
News:
15.02.2012
Mugums 21 1 2
1
Magst Du uns noch verraten, ob die Exceptions auf dem Client oder dem Server auftreten? Und in welcher Zeile?
Matthias Hlawatsch 15.02.2012
"BufferedImage img = r.createScreenCapture(new Rectangle(0,0,1600,900));
" kann einen Fehler werfen, wenn der Bildschirm kleiner ist.
LiRo 15.02.2012
Und wieso verwendest du einen ObjectStream?
LiRo 15.02.2012