if (msg.readableBytes() < 8) {
channelFuture.setFailure(new IOException("invalid sock server reply length = " + msg.readableBytes()));
}
// ignore
msg.readByte();
int status = msg.readByte();
int port = msg.readShort();
byte[] addr = new byte[4];
msg.readBytes(addr);
ctx.getChannel().setAttachment(new InetSocketAddress(InetAddress.getByAddress(addr), port));