请问个SOCK代理的有关问题

请教个SOCK代理的问题?
建立与SOCK服务器连接,身份验证结束后
...
C/C++ code
ret=send(sock,buffer,len,0);//把要连接的目标站点地址和端口传给SOCK服务器
if(ret==SOCKET_ERROR)
{
  MessageBox("send 错误");
  closesocket(sock);
  return 0;
}
    
ret=recv(sock,buffer,bufferlen,0);
if(ret==SOCKET_ERROR)
{
  MessageBox("recv 错误");
  closesocket(sock);
  return 0;
}    
AnsStru *m_proxyans2;//应答结构体指针 
m_proxyans2 = (AnsStru *)buffer;    
if(m_proxyans2->Rep!=REP_SUCCESS)
{
  MessageBox("通过代理连接远端主机失败!");
  closesocket(sock);
  return 0;
}

while(1)
{}//收发数据


我想保持住这个连接,一直操作数据的收发,但是如果接下来的一个收发请求,需要连接的是不同的站点,那我该怎么才能通知SOCK服务器,修改目标站点地址?

------解决方案--------------------
没看懂你这东西的原理,修改目标站点地址了吧,就看你的sock服务器是怎么操作的,如果能在任意时间解析客户端发来的数据的话,那你就可以修改了目标站点地址再发送数据给服务器
------解决方案--------------------
你想做通过服务端真实收取网页内容,再转给客户端,客户端想实现一条连接上发送多个址吧
你那首先要与服务器有自己知道的自定义协议(因为是流):如可以定为,网址长度+网址BUF,用于服务器端收到多个请求,区分。
另一点,你可以在接收成功后,再SEND一次网址长度+网址BUF给服务器,再接收就行,两边不关闭这连接就可以。
------解决方案--------------------
看你要的什么高度了:1,重新连接2,http中LOCATION:字段设置