Apache Mina

0 respostas
brunobuild

Pessoal estou implementando um cliente socket utilizando apache mina porém não consigo receber as mensagens no evento messageReceived

package com.itautec.naga;

import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IoSession;

/**
 * @author Bruno Rodrigues e Rodrigues - 17/07/2012
 */
public class MinaClientHandler extends IoHandlerAdapter
{

	public MinaClientHandler()
	{
		super();
	}
	
	@Override
	public void sessionOpened(IoSession session) throws Exception
	{
		session.write("Bruno Rodrigues");
	}
	
	@Override
	public void messageSent(IoSession session, Object message) throws Exception
	{
		session.write(message.toString());
	}
	
	@Override
	public void messageReceived(IoSession session, Object message) throws Exception
	{
		System.out.println("Message received in the client..");
	}
 
	@Override
	public void exceptionCaught(IoSession session, Throwable cause) throws Exception
	{
		session.close(true);
	}
}
package com.itautec.naga;

import java.net.InetSocketAddress;

import org.apache.mina.core.future.ConnectFuture;
import org.apache.mina.core.service.IoConnector;
import org.apache.mina.core.session.IoSession;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.filter.logging.LoggingFilter;
import org.apache.mina.transport.socket.nio.NioSocketConnector;

/**
 * @author Bruno Rodrigues e Rodrigues - 17/07/2012
 */
public class MinaClient
{
	public static final int PORT = 6000;
	
	/**
	 * 
	 */
	public MinaClient()
	{
		super();
	}
	
	public static void main(String[] args)
	{
		IoConnector connector = new NioSocketConnector();
		connector.getSessionConfig().setReadBufferSize(2048);
		
		connector.getFilterChain().addLast("logger", new LoggingFilter());
		connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.getInstance().getCharset())));
		
		connector.setHandler(new MinaClientHandler());
		ConnectFuture future = connector.connect(new InetSocketAddress("10.50.7.153", PORT));
		future.awaitUninterruptibly();	
		
		if (!future.isConnected())
		{
			return;
		}
		
		IoSession session = future.getSession();
		
		session.write("Bruno Rodrigues e Rodrigues");
		
		session.getConfig().setUseReadOperation(true);
		session.getCloseFuture().awaitUninterruptibly();
		
		
		System.out.println("After Writing...");
		connector.dispose();
	}
}
Criado 17 de julho de 2012
Respostas 0
Participantes 1