Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-10-2010, 12:33   #1
m0linas
Member
 
L'Avatar di m0linas
 
Iscritto dal: Feb 2008
Città: PoggibonZi
Messaggi: 140
[JAVA] classe non serializzabile

Scusate, ho una domanda veloce da farvi....Perchè ottengo una NotSerializableException quando provo a trasferire una arraylist di oggetti della seguente classe da un server a un client??
Per quanto avevo capito, credevo bastasse implementare serializable....

Codice:
import java.net.*;
import java.io.Serializable;

public class P2PFile implements Serializable
{
    private static final long SerialVersionUID = 1L;
    private String nome;
    private InetAddress owner;
    
    public P2PFile(String nome, InetAddress ip)
    {
        this.nome=nome;
        this.owner=ip;
    }
    
    public InetAddress getOwner()
    {
        return owner;
    }
    
    public String toString()
    {
        return nome;
    }
}
Questo è l'errore:


Codice:
java.io.NotSerializableException: P2PFile
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    at P2PThread.run(P2PThread.java:67)
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: P2PFile
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at P2PClient.run(P2PClient.java:68)
Caused by: java.io.NotSerializableException: P2PFile
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    at P2PThread.run(P2PThread.java:67)
e questo il pezzo di codice dove prendo gli elementi uno ad uno e li invio:

Codice:
ObjectOutputStream outLista = new ObjectOutputStream(soc.getOutputStream());
            for (int i=0;i<P2PServer.filesArray.size();i++)
            {
                P2PFile f = P2PServer.filesArray.get(i);
                outLista.writeObject(f);
            }
            outLista.close();
            soc.close();
Grazie in anticipo a chi mi chiarirà le idee
__________________
Ho felicemente trattato con: Isomarcus, NLDomy, cipacci.

Intel e2180 @ 3.1Ghz + Arctic Cooling Freezer 7 ~ MSI P35 Neo2-FR ~ Geil Black Dragon @ 970Mhz 4-4-4-12 ~ ASUS 8800GT 512Mb ~ OCZ StealthXtream 500W
m0linas è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2010, 09:54   #2
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
...nella mia immensa ignoranza direi che forse InetAddress non è serializzabile?...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2010, 10:55   #3
m0linas
Member
 
L'Avatar di m0linas
 
Iscritto dal: Feb 2008
Città: PoggibonZi
Messaggi: 140
Quote:
Originariamente inviato da ally Guarda i messaggi
...nella mia immensa ignoranza direi che forse InetAddress non è serializzabile?...
Eh...ci avevo pensato anche io, però dalla documentazione...

Quote:
public class InetAddress
extends Object
implements Serializable

__________________
Ho felicemente trattato con: Isomarcus, NLDomy, cipacci.

Intel e2180 @ 3.1Ghz + Arctic Cooling Freezer 7 ~ MSI P35 Neo2-FR ~ Geil Black Dragon @ 970Mhz 4-4-4-12 ~ ASUS 8800GT 512Mb ~ OCZ StealthXtream 500W
m0linas è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2010, 08:42   #4
vladix
Member
 
L'Avatar di vladix
 
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
cosi a occhio direi di provare a ricompillare ( lo so ... lo hai già fatto )
io ho provato il codice che hai postato e non mi da nessun tipo di errore.
molto probabilmente gli oggetti P2PFile che popolano la lista P2PServer.filesArray non sono serializzabili

cmq prova a postare + codice
__________________
Acer 5940G{Intel Core i7 Q720 Quadri motore; 8Gb DDR3; ATI Radeon HD 4650 1024MB; 500Gb hdd}
vladix è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2010, 16:14   #5
m0linas
Member
 
L'Avatar di m0linas
 
Iscritto dal: Feb 2008
Città: PoggibonZi
Messaggi: 140
Quote:
Originariamente inviato da vladix Guarda i messaggi
cosi a occhio direi di provare a ricompillare ( lo so ... lo hai già fatto )
io ho provato il codice che hai postato e non mi da nessun tipo di errore.
molto probabilmente gli oggetti P2PFile che popolano la lista P2PServer.filesArray non sono serializzabili

cmq prova a postare + codice
Allora guarda....ieri ho finalmente risolto con un metodo molto scientifico e razionale.....
Ho cancellato la classe P2PFile, e ne ho riscritta un'altra con solo la variabile String, e la serializzava.
Quindi ho aggiunto anche il campo InetAddress ip, e la serializzava.
Quindi ho aggiunto tutti gli altri metodi, e ho così ottenuto una classe uguale identica a P2PFile ma con un altro nome....e la serializza!
Non so per quale arcano motivo continuava a darmi quell'errore, comunque ora è risolto.
Mistero della fede....
Grazie comunque per l'aiuto, ciao ciao!
__________________
Ho felicemente trattato con: Isomarcus, NLDomy, cipacci.

Intel e2180 @ 3.1Ghz + Arctic Cooling Freezer 7 ~ MSI P35 Neo2-FR ~ Geil Black Dragon @ 970Mhz 4-4-4-12 ~ ASUS 8800GT 512Mb ~ OCZ StealthXtream 500W
m0linas è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:59.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v