2012-01-14 50 views
0

我有一个服务器和一个客户端。服务器收到两个命令字符串:addremove。如果服务器收到add,它将它从套接字接收到的对象添加到本地列表中。连续打开两个不同的流来接收两个不同的对象是否可以接受?打开两个不同的套接字输入流

实施例:

/* To read the command */ 
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
/* To read the object */ 
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); 

回答

3

没有,这是没有必要。 StringSerializable。你可以做这样的事情:

String s = (String) ois.readObject(); 
Object o = ois.readObject(); 
if("add".equals(s)){ 
    list.add(o); 
} else if ("remove".equals(s)){ 
    list.remove(o); 
} 

只要确保你使用ObjectOutputStream.writeObject同时发送您的命令和对象。

相关问题