Boa noite pessoal.
Estou com um problema um tanto estranho. Já procurei a respeito e agora estou tirando a dúvida com vocês.
Tenho a minha classe CLIENTSOCKET enviando uma string para o SERVERSOCKET nestas condições:
CLIENTE:
public static void main( String[] args ){
Socket s = null;
PrintStream ps = null;
try
{
s = new Socket("localhost", 4444);
ps = new PrintStream(s.getOutputStream());
ps.println("0");
ps.println("255");
ps.println("0");
ps.println("255");
ps.println("0");
ps.println("ok");
... (RESTO DO CÓDIGO)
Do lado servidor, recebo corretamente todos as strings passadas por parâmetro, mas não são bem interpretadas. MInhas estruturas WHILE e IF não as reconhecem e deixam passar despercebidas os testes de decisões comuns, do tipo: SE “0” FOR DIFERENTE DE “0” EXECUTE. E está sendo executado.
Vejam o servidor:
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg_in = in.readLine(); //debug msg_in = 0
while(msg_in != "0") //debug msg_in = 0 => EXECUTA
{
if(msg_in != "0") //TESTANDO NOVAMENTE! debug msg_in = 0
JOptionPane.ShowMessageDialog("null, msg_ok"); //EXECUTA E EXIBE 0 NO JOPTION PANE
msg_in = in.readLine();
}//END OF WHILE
...RESTO DO CÓDIGO
O que posso fazer para isso dar certo? Preciso que as strings passadas como parâmetro sejam reconhecidas na minha classe do servidor.
Obrigado!