Добрый день. Написал прокси socks5 на masm через IOCP. Работает, не всегда правда стабильно. Сейчас пытаюсь дописать, чтобы можно было выстраивать цепочку из произвольного количества промежуточных прокси. Если у кого есть опыт такого программирования, подскажите, как должны работать промежуточные соксы?! Понятно, что их задача просто переложить данные из одного сокета, на другой. Но браузер создает множество сокетов, постоянно, должны ли промежуточные соксы создавать новые пары сокетов, или им хватит одной? Если коряво объяснил, простите. Спасибо.
на вскидку. например сокс-реле-реле-реле-реле-проксифаер (это софтина которая переводит трафик на сокс сервер, который укажешь). реле - это просто минисервер, который форвардит соединение на хост порт и все. Но тебе надо будет это задавать со стороны (куда форвардить), выглядит как баналный сервер и работает так: 1. Ждем соединение 2. Пришло соединение 3. Коннектимся сразу на след узел в цепоче. 4. Если подсоеденились, то гоним данные в обе стороны. На вскидку. Но у данной методы есть минус =) это НАТ.
Я дописал функцию в прокси, которая отвечает за цепочку. Попробовал локально, запустил 2 прокси на разных портах и указал 1ому (порт 880) работать через 2ой (порт990). В настройках браузера указал прокси на порту (880). Самой печальное, что такая схема работает недолго (тяжелый сайт до конца загрузить не может) и 1ый прокси вылетает с ошибкой (ошибка вроде в обращении к кривому адресу 0xc000005). Но вот интересно, что если запустить 1ый в отладчике (OllyDbg) и просто поставить на выполнение, то все работает стабильно. Есть у кого мысли, почему так может быть?