2010-05-12 2 views
1

Я строю систему для обмена закодированными сообщениями, называю ее банком и клиентом. Первыми сообщениями, которые мне нужны для обмена, являются длинные строки. Они, кажется, усекаются либо в записи, либо в чтении, но я не уверен, как выяснить, где.Java: Является ли мой input.readObject() усеченным при записи или чтении?

Read:

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

Запись:

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

Сверху моей головы я бы обернул их в «BufferedOutputStream». Каково это усечение в длину? – Phil

+0

Он усекается вокруг 12-13 символов. Это должно быть несколько сотен символов, набор параметров diffie-hellman. – Deb

ответ

0

Я думаю, что я понял это. Первоначально «ключевые» данные отправлялись как byte []. Я изменил его на String, и все передается, без усечения.