shadowsocks-android-java
shadowsocks-android-java copied to clipboard
怎么才能代理udp呀?
我知道怎么代理UDP了,已经代理上了,但是我感觉你这段代码貌似不对呀^_^:
public static DnsFlags parse(short value) { int flags = value & 0xFFFF;//1000 1000 1000 1100 DnsFlags dnsFlags = new DnsFlags(); dnsFlags.QR = ((flags >> 7) & 0x01) == 1; dnsFlags.OpCode = (flags >> 3) & 0x0F; dnsFlags.AA = ((flags >> 2) & 0x01) == 1; dnsFlags.TC = ((flags >> 1) & 0x01) == 1; dnsFlags.RD = (flags & 0x01) == 1; dnsFlags.RA = (flags >> 15) == 1; dnsFlags.Zero = (flags >> 12) & 0x07; dnsFlags.Rcode = ((flags >> 8) & 0xF); return dnsFlags; }
public short toShort() {
int flags = 0;
flags |= (QR ? 1 : 0) << 7;
flags |= (OpCode & 0x0F) << 3;
flags |= (AA ? 1 : 0) << 2;
flags |= (TC ? 1 : 0) << 1;
flags |= RD ? 1 : 0;
flags |= (RA ? 1 : 0) << 15;
flags |= (Zero & 0x07) << 12;
flags |= (Rcode & 0x0F) << 8;
return (short) flags;
}
flag标志不是 " QR | opcode | AA | TC | RD | RA | (zero) | rcode "顺序吗? 我看你排序的是 " RA | (zero) | rcode | QR | opcode | AA | TC | RD "
你好,请问一下怎么代理上UDP呀