2010-05-12 7 views
1

Je suis en train de construire un système pour échanger des messages codés, appelez-le banque et client. Les premiers messages que j'ai besoin d'échanger sont des chaînes longues. Ils semblent être tronqués dans l'écriture ou la lecture, mais je ne suis pas sûr de savoir où.Java: Mon input.readObject() est-il tronqué en écriture ou en lecture?

Lire:

client = new Socket(InetAddress.getByName(bankServer), 12345); 
displayMessage("Connected to: " + client.getInetAddress().getHostName()); 
input = new ObjectInputStream(client.getInputStream()); 
inputString = (String) input.readObject(); 

Ecrire:

output = new ObjectOutputStream(connection.getOutputStream()); 
output.flush(); // flush output buffer to send header information 
output.writeObject(msgClassOut + msgTypeOut.toString() + key); 
output.flush(); 
+1

Juste au sommet de ma tête, je voudrais les envelopper dans BufferedOutputStream. Qu'est-ce qui est tronqué, dans le sens de la longueur? – Phil

+0

Il est tronqué de 12 à 13 caractères. Ce devrait être un couple de cent caractères, un ensemble de paramètres diffie-hellman. – Deb

Répondre

0

Je pense que je compris. Les données "clés" étaient initialement envoyées sous forme d'octet []. Je l'ai changé en String et tout est transféré, pas de troncature.