2013-04-08 2 views
1

현재 간단한 SOCKET을 사용하여 서로 통신하는 클라이언트 및 서버 응용 프로그램을 구현했습니다. this처럼.C/C++ SOCKET Proxy

일부 사용자는 인터넷에 직접 액세스 할 수 없으므로 프록시를 사용합니다.

프록시 (예 : 기본 IE 프록시)를 통한 통신에 SOCKET을 사용하려면 어떻게해야합니까? 아니면 다른 가능성이 있습니까?

+0

설명서에 따르면 * 각 서비스에 대해 별도의 프록시를 실행하는 경우 아무 것도 할 필요가 없습니다. sockd를 통해 작업하는 경우, 응용 프로그램을 "socksify"해야합니다. –

답변

1

먼저 프록시에는 다양한 유형의 프록시와 해당 프록시에서 사용되는 다양한 유형의 프로토콜이 있습니다. HTTP 프록시, SOCKS 프록시, 터널링 프록시 등이 있습니다. 먼저 코드에서 지원할 프록시의 유형을 결정한 다음 필요에 따라 각 프로토콜을 구현해야합니다.

일반적으로 원하는 서버에 직접 connect()을 보내는 대신 클라이언트는 프록시 서버에 connect()을 대신 지정하고 프록시에서 사용하는 프로토콜을 사용하여 서버에 연결하도록 지시합니다. 연결이 설정되면 나머지 클라이언트 및 서버 코드는 이미 send()recv() 데이터가되며 프록시는 투명하게 데이터를 앞뒤로 교환합니다.