package org.voovan.test.network;
import org.voovan.network.IoHandler;
import org.voovan.network.IoSession;
import org.voovan.tools.log.Logger;
import java.nio.ByteBuffer;
public class ClientHandlerTest implements IoHandler {
@Override
public Object onConnect(IoSession session) {
Logger.simple("onConnect");
session.setAttribute("key", "attribute value");
String msg = new String("test message\r\n");
return msg;
}
@Override
public void onDisconnect(IoSession session) {
Logger.simple("onDisconnect");
}
@Override
public Object onReceive(IoSession session, Object obj) {
Logger.simple(session.remoteAddress()+":"+session.remotePort());
//+"["+session.remoteAddress()+":"+session.remotePort()+"]"
Logger.simple("Client onRecive: "+obj.toString());
Logger.simple("Attribute onRecive: "+session.getAttribute("key"));
session.close();
return null;
}
@Override
public void onException(IoSession session, Exception e) {
Logger.simple("Client Exception: "+ e.getClass() + " => " +e.getMessage());
Logger.error(e);
session.close();
}
@Override
public void onSent(IoSession session, Object obj) {
ByteBuffer sad = (ByteBuffer)obj;
sad = (ByteBuffer)sad.rewind();
Logger.simple("Client onSent: "+new String(sad.array()));
}
}