Пытаюсь написать программу которая:
открывает порт и принимает подключение "клиента" (сокет 1)
получает по этому подключению запрос и обрабатывает его
устанавливает соединение с "сервером"(сокет 2) и запрашивает то что нужно "клиенту"
дальше нужно поддерживать это соединение с "сервером" +
создать новое (сокет 3) и через него связать "клиента"(сокет 1)с "сервером" (чтото типа прокси)
продолжать рулить сервером (сокет 2) т.к. "клиент" сам не умеет.
работу с "клиентом" — реализовал и опробовал
работу с "сервером" — тоже отладил
"чтото типа прокси" — отправить запрос серверу от моей программы и потом можно/нужно связать "клиента"(сокет 1) и "сервер"(сокет 3) "напрямую" (но как это сделать?)
теперь все это вместе и одновременно нужно поддерживать + как минимум обрабатывать двух таких "клиентов"
я так понимаю нужно несколько потоков под это дело:
поток 1 прокси
поток 2 работа с сервером (управление)
поток 3 ждем второго клиента
Как в винде на чистом Си все это лучше реализовать?
(поток прокси может быть автономным до разрыва соединения)