如何判断代理是否说Socks v4或v5?

时间:2011-07-23 23:26:26

标签: java sockets proxy connect socks

我试图创建一个连接代理的程序,但我有一点问题,我写了socksv4和v5协议,但我怎么知道代理的版本是什么?

我没有使用标准java代理对象的原因是因为我想使用套接字通道,我基本上必须手动完成。

不相关的代码:

  String getIP = jTextField1.getText();
  String[] splitIP = getIP.split("\\.");
  byte[] wbytes = new byte[9];
  wbytes[0] = (byte) 0x04;
  wbytes[1] = (byte) 0x01;
  byte one = (byte) Integer.parseInt(splitIP[0]);
  byte two = (byte) Integer.parseInt(splitIP[1]);
  byte three = (byte) Integer.parseInt(splitIP[2]);
  byte four = (byte) Integer.parseInt(splitIP[3]);
  checkC = new int[liveCon.length];
  int pSlot = liveCon.length;
  int[] standBy = new int[liveCon.length];

1 个答案:

答案 0 :(得分:0)

我认为通常的方法是尝试连接v5,如果服务器拒绝,请使用v4重试。

(客户端发送的第一条消息的第一个字节是版本号。)

相关问题