2012-01-14 5 views
0

나는 서버와 클라이언트를 가지고있다. 서버는 두 개의 명령 문자열, 즉 add 또는 remove을 수신합니다. 서버가 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를 사용하십시오.

관련 문제