下面列出了怎么用 io.netty.handler.codec.socksx.v5.Socks5InitialResponse 的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
void read(ConnectionFlow flow, Object msg) {
if (msg instanceof Socks5InitialResponse) {
Socks5AuthMethod selectedAuthMethod = ((Socks5InitialResponse) msg).authMethod();
final boolean authSuccess;
if (selectedAuthMethod == Socks5AuthMethod.NO_AUTH) {
// Immediately proceed to SOCKS CONNECT
flow.first(SOCKS5CONNECTRequestWithChainedProxy);
authSuccess = true;
}
else if (selectedAuthMethod == Socks5AuthMethod.PASSWORD) {
// Insert a password negotiation step:
flow.first(SOCKS5SendPasswordCredentials);
authSuccess = true;
}
else {
// Server returned Socks5AuthMethod.UNACCEPTED or a method we do not support
authSuccess = false;
}
if (authSuccess) {
flow.advance();
return;
}
}
flow.fail();
}