J'essaye à travers ce bout de code de lire d'abord un entier puis un objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
try {
			this.socket = new Socket(this.IP_SEDDO_SERVER, REMOTE_PORT);
			PrintWriter srv = new PrintWriter(this.socket.getOutputStream(),
					true);
 
			BufferedReader entreeSocket = new BufferedReader(
					new InputStreamReader(this.socket.getInputStream()));
			srv.println(FILE_REQUEST + "\n" + fichier.getName());
 
			// lire le nombre de bloc du fichier
			String ligne = entreeSocket.readLine();
			int nbBloc = Integer.parseInt(ligne);
			// On ouvre notre flux d'entrée
			InputStream is = this.socket.getInputStream();
 
			ObjectInputStream ois = new ObjectInputStream(is);
 
			Hashtable<String, Set<Bloc>> listBlocs = (Hashtable<String, Set<Bloc>>) ois
					.readObject();
			this.blocList = listBlocs;
 
			return nbBloc;
 
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		} catch (UnknownHostException e2) {
			e2.printStackTrace();
		} catch (IOException e3) {
			e3.printStackTrace();
		}
Mais sur certaines machines que je teste je reçois le message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
java.io.EOFException
	at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
	at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
	at java.io.ObjectInputStream.<init>(Unknown Source)