Forum » Programiranje » [java] Serialiacija in posiljanje preko mreze
[java] Serialiacija in posiljanje preko mreze
alum ::
Poskusam serializirati objekt, ki vsebuje ImageIcon (sliko) in ime. Vendar mi javi Exception, s katerim si res neznam pomagat...kaj delam narobe?
EXCEPTION:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unknown Source)
at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Unknown Source)
at java.io.ObjectOutputStream.writeNonProxyDesc(Unknown Source)
at java.io.ObjectOutputStream.writeClassDesc(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeFatalException(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at test.main(test.java:24)
verjetno je napaka v zaporedju ustvarjanja input in output streama, ali pa je napaka v samem ustvarjanju streama...ce v obeh blokih postavim input stream pred output se program neha odzivat...
EXCEPTION:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unknown Source)
at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Unknown Source)
at java.io.ObjectOutputStream.writeNonProxyDesc(Unknown Source)
at java.io.ObjectOutputStream.writeClassDesc(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeFatalException(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at test.main(test.java:24)
import javax.swing.*;
import java.io.*;
import java.net.*;
public class test{
public static void main(String arg[]) throws Exception{
ImageIcon i = new ImageIcon( "test.jpg" );
User u = new User( "bla", i );
User n = null;
if(arg.length == 1)
{
Socket s = new Socket( "localhost", 5555 );
try
{
OutputStream os = s.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream( os );
oos.writeObject( u );
oos.flush();
oos.close();
InputStream is = s.getInputStream();
ObjectInputStream ois = new ObjectInputStream( is );
n = (User)ois.readObject();
ois.close();
System.out.println( n );
}
catch(Exception e){ e.printStackTrace(); }
}
else
{
ServerSocket ss = new ServerSocket( 5555 );
try
{
Socket s = ss.accept();
OutputStream os = s.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream( os );
oos.writeObject( u );
oos.flush();
oos.close();
InputStream is = s.getInputStream();
ObjectInputStream ois = new ObjectInputStream( is );
n = (User)ois.readObject();
ois.close();
}
catch(Exception e){}
}
}
}
verjetno je napaka v zaporedju ustvarjanja input in output streama, ali pa je napaka v samem ustvarjanju streama...ce v obeh blokih postavim input stream pred output se program neha odzivat...
DCER ::
Nisem prepričan, ampak bi rekel da zato ker zapreš streame. Lahko pa da sem čisto mimo vrezal
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | [JAVA] HTTPS clientOddelek: Programiranje | 3315 (2045) | peterv6i |
| » | [Android] Nov tip shranjevanja slikeOddelek: Programiranje | 2366 (1490) | urosz |
| » | [Java] Multi Client chat serverOddelek: Programiranje | 2730 (2001) | javaMaster |
| » | [Java] pošiljanje slik prek portaOddelek: Programiranje | 1328 (1247) | xlarge |
| » | Kako pošiljanje datotek v JAVI.Oddelek: Programiranje | 1976 (1847) | kopernik |