Вы не можете открыть сокет «через» что-либо, только «для чего-то». С прокси-сервером (я полагаю, вы говорите о HTTP-прокси, который поддерживает команду «CONNECT»), то же самое: сначала откройте соединение с ним, затем используйте его протокол, чтобы прокси переадресовал ваше соединение туда, куда вы хотите, с помощью команды «CONNECT» .
Итак, вам необходимо выполнить следующие шаги:
- Подключение к прокси.
- выпуск
CONNECT Host:Port HTTP/1.1<CR><LF>
- выпуск
<CR><LF>
- Ждите ответной строки. Если он содержит
HTTP/1.X 200
, соединение установлено успешно.
- Читайте дальнейшие строки ответа, пока не получите пустую строку.
- Теперь вы подключены к внешнему миру через прокси. Любой обмен данными вы хотите.