@Override
public void messageReceived(ChannelHandlerContext ctx, SocksRequest socksRequest) throws Exception {
switch (socksRequest.protocolVersion()) {
case SOCKS4a:
Socks4CmdRequest socksV4CmdRequest = (Socks4CmdRequest) socksRequest;
if (socksV4CmdRequest.cmdType() == Socks4CmdType.CONNECT) {
ctx.pipeline().addLast(new SocksServerConnectHandler());
ctx.pipeline().remove(this);
ctx.fireChannelRead(socksRequest);
} else {
ctx.close();