2014-09-21 2 views
0

Java (Java Socket)로 채팅 프로그램을 만들고 있었는데 build-in-commands를 만들려고했습니다. 예를 들어; 당신은 "날짜"를 쓰고 날짜를 보여줄 것입니다! 여기에 나는 하나를 maked했지만 그것 dosen't 작품. 그것은 "else"satement만을 보여줍니다!Java chat-commands

  streamChat = (String) inputdata.readObject();  //Reading the object.. and storing it in a variable... 
      if(streamChat.equals("date")){ 
       Date date = new Date(); 
       showMess("\n " + date); 

      }else{ 
       showMess("\n " + streamChat); 
      } 
+1

'inputdata '란 무엇입니까? 'readObject'는 무엇을합니까? 개행이나 스페이스를 보내지 않았습니까? TCP를 사용하고 있다면, 한 번의 수신으로 모든 입력 행을 수신 했습니까? –

답변

0

대답은 간단합니다 ... streamChat = (String) inputdata.readObject();은 클라이언트의 INPUT입니다. 따라서 클라이언트가 "날짜"를 보내는 경우에만 날짜가 표시됩니다. 출력 영역의 다른 위치로 if 문을 제거하십시오.

0

다소 적습니다. 문자열에 trim()을 사용하거나 equals 대신에 contains를 사용하십시오.

streamChat = (String) inputdata.readObject();  
    streamChat = streamChat.trim(); 
    if(streamChat.equals("date")) { ... 

또는

streamChat = (String) inputdata.readObject();  
if(streamChat.contains("date")) { ... 

하지만 말했듯이 당신은 더 적은 정보를 제공했다. 사용자로부터 어떻게 정보를 얻고 있는지에 대해 글을 쓸 수 있습니까?

+0

예제를 제공해주세요. – Tor