客户端多级连接socket5代理服务器问题求解
我在本地机器上开了一个测试用SOCKET5代理服务器1号,不需要身份验证;
另外还有个SOCKET5代理服务器2号在另外一台机器上,需要身份验证;
然后客户端连接1号代理服务器,再通过1号代理服务器连接2号代理服务器,请问各位高人,1号连接2号的过程怎么实现?
目前的情况是现在连接1号代理的时候用的是CONNECT命令方式,结构如下:
SOCKS5COMMANDREQUEST commandrequest;
memset(&commandrequest,0,sizeof(commandrequest));
commandrequest.ver = 5;
commandrequest.cmd = 1; //connect
commandrequest.rsv = 0;
commandrequest.type = 1;
commandrequest.addr = inet_addr(“2号代理IP”);
commandrequest.port = htons(atol(“2号代理PORT”));
g_Client.SendPacket((char*)&commandrequest,sizeof(commandrequest));
收到回应的结果应该是CONNECT成功,但是再向2号代理发送认证请求的时候就收不到任何数据了,代码如下:
SOCKS5SELECTREQEST selectRequest;
memset(&selectRequest,0,sizeof(SOCKS5SELECTREQEST));
selectRequest.ver = 5;
selectRequest.nmethods = 2;
selectRequest.methods[0] = 0;
selectRequest.methods[1] = 2;
g_Client.SendPacket((char*)&selectRequest,sizeof(selectRequest));
理论上应该收到2号代理的回应吧,但是没有收到任何数据。请问各位高人这是为什么?