Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ac Neto

Enviando dados Via Socket

Recommended Posts

Olá pessoal,

Gostaria de uma ajuda em uma aplicação que estou implementando, o erro é o seguinte:
Eu possuo uma classe Cliente, que se conecta a um servidor via socket, essa classe Cliente também funciona como uma interface gráfica. No programa eu uso o conceito de MuiltThread, logo quando o Cliente se conecta uma Thread é iniciada para tratar dele deixando o servidor livre para outro cliente se conectar. Essa Thread é a classe AtenderCliente. Até aqui tudo bem, eu envio os dados da interface Cliente para a Thread AtenderCliente que por sua vez chama os metodos do Servidor, o problema é que preciso informar de volta a Interface se o método executou com sucesso, mas não consigo enviar essa informação através do AtenderCliente, quando tento enviar pelo OutPutStream a interface simplesmente congela , segue o código do método onde trava:

Desde já agradeço!!!

//Método na Classe Cliente
btnNewButton = new JButton("Entrar"); // botao para fazer Login no sistema
		btnNewButton.setBounds(312, 105, 71, 23);
		btnNewButton.addActionListener(new ActionListener() {
			private String comunicacao;

			public void actionPerformed(ActionEvent arg0) {

				try {
                    int aux;
					oos.writeInt(2); // escolhe a opção de login no AtenderCliente
				

					String nick = txtEntreComO.getText();

					oos.writeObject(nick);// envia o nick para o AtenderCliente


					@SuppressWarnings("deprecation")
					String senha = passwordField.getText();

					oos.writeObject(senha); // envia a senha para o AtenderCliente
					if(entrada.read() == 2){ // espera a resposta Trava :(
						login(nick);
					}
																
				
						
					
					
						
					
					

				}

				catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}

			}

		});
		frame.getContentPane().add(btnNewButton);

case 2: { //login
						//Método na classe AtenderCliente
						

						 nick = (String) ois.readObject(); // ler o nick
						 System.out.println(nick);
						senha = (String)ois.readObject(); // ler a senha
						System.out.println(senha);
						
						if(servidor.verificarLogin(nick, senha)){ // verifica se ta Cadastrado
											    	
						    saida.write(1);						// envia a resposta positiva	    	
							
							
						}

						break;
					}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.