Evento de ação durante recebimento de mensagens via Socket

1 resposta
gustavo_ddms

Galera…
alguém ae sabe como que eu crio um “EventListener” para quando eu receber dados através de um socket?! Preciso que um servidor aqui dispare um evento sempre que ele receber um dado do cliente…e com isso minha interface aki seria atualizada qnd isso ocorresse, o problema eh que eu naum poderia deixar a criação da interface junto com um do/while que estaria escutando a porta, pois ela ficaria travada…e caso usasse thread ela também teria que disparar um evento para avisar meu programa.
Abraços!

1 Resposta

A

Eu atualmente estou desenvolvendo um sistema e encontrei um problema desse tipo

eu criei uma thread com while que fica escutando a porta

quando eh enviado algo para esse sockt entao essa minha thread cria um objeto runneble no qual eu passo o socket e esse sim eh usado para disparar uma nova thread com o objetivo de tratar o evento

Esse codigo fica eh chamado pelo metodo run() da thread

try {

			ServerSocket listener = new ServerSocket(port);
			System.out.println("Porta " + port
					+ " pronta pra receber conexoes dos clientes");
			while (true) {
				Socket srvSock = listener.accept();
				// System.out.println("Cliente conectado - " +
				// srvSock.getRemoteSocketAddress() + " - Iniciando thread para
				// tratar sua solicitacao");
				ClientLink conn_c = new ClientLink(srvSock);
				Thread t = new Thread(conn_c);
				t.start();
			}
		} catch (IOException e) {
			System.out.println("Could not listen on port " + port);
			System.exit(-1);
		}

	}

Espero ter ajudado

Criado 4 de dezembro de 2006
Ultima resposta 4 de dez. de 2006
Respostas 1
Participantes 2