【发布时间】:2015-01-02 04:10:55
【问题描述】:
关于 java.net.Socket 和 java.io。 服务端要向客户端发送消息,先用 ObjectOutputStream 写(读,用于客户端)一个对象,然后用 BufferedWriter 写(读,用于客户端)。
如果我只使用ObjectXXXStream 或只使用BufferedXXX,我可以成功,但不能在一个流中同时使用它们。我该怎么办?
服务器:
oos = new ObjectOutputStream(client.getOutputStream());
oos.writeObject(dc);
// oos.close();
bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
bw.write("hahaha");
bw.flush();
while(true){
line=br.readLine();
if(line != null){
ExecuteInput(line);
}
}
在客户端:
ois = new ObjectInputStream(socket.getInputStream());
XXX dc = (XXX) ois.readObject();
// ois.close();
String line;
while(true){
try {
// System.out.println("000000");
line=br.readLine();
// System.out.println("111111");
if(line != null)
System.out.println("aaaa "+line);
} catch (IOException e) {
System.out.println("222222");
e.printStackTrace();
}
}
【问题讨论】:
-
为什么不为两者选择相同的?