我想通过代理模拟http客户端的行为,如果用原始socket的话设置代理的过程过于繁琐,所以考虑采用indy组件,但是在indy的close()操作中默认包含了shutdown是我所不想要的,所以我想使用sockfd进行原始的close操作,不知道是否可以从tcpclient中得到呢?

解决方案 »

  1.   

    我可以直接调用closesocket(tcpclient->socket)么?
    刚刚试了一下closesocket(IdTCPClient1->Socket->Binding->Handle)是可以的
      

  2.   

    当然不是直接closesocket(tcpclient->socket),而是closesocket(IdTCPClient1->Socket->Binding->Handle),前者是一个类,后者才是Socket描述符。主要是我现在使用的是Indy10,并且是高版本,所以无法确定Indy9当中具体需要访问哪些,所以只提供Socket这一个入口。