2014-09-21 2 views
0

Я делал чат-программу на Java (Java Socket), и я думал о создании встроенных команд! Для и примера; вы пишете «дату», и она покажет дату! Здесь я собрал один, но он не работает. Он показывает только «другое» предложение!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.

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

или

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

но, как я сказал, что вы предоставлены меньше информации. Не могли бы вы написать что-то о том, как вы получаете вход от пользователя?

+0

Просьба привести пример – Tor