2010-05-12 22 views
1

我正在構建一個交換編碼消息的系統,稱之爲銀行和客戶端。我需要交換的第一條消息是長字符串。它們似乎在寫入或讀取時被截斷,但我不知道如何找出位置。Java:我的input.readObject()在寫或讀時被截斷嗎?

閱讀:

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 2010-05-12 15:25:01

+0

它被截斷了12-13個字符。它應該是幾百個字符,一個diffie-hellman參數集。 – Deb 2010-05-12 16:11:51

回答

0

我想我想通了。 「關鍵」數據最初是作爲字節[]發送的。我將其更改爲字符串,並且全部都被傳輸,不會截斷。