2010-05-12 20 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

我想我想通了。 “关键”数据最初是作为字节[]发送的。我将其更改为字符串,并且全部都被传输,不会截断。