Суть: Решил написать на С простенький udp proxy. для одного клиента пишется за 10 минут. но как организовать сервер для большого количества клиентов? точнее как заставить его различать , кому именно адресованны пакеты?
хммм, я продумал принцып... но он может быть не удобен т к ... приходится использовать несколько(или много) портов...и впринципе И так, приложение - сервер имеет порт с открытым IdUDPServer(обозначен синим цветом), который при запросе с нового ip проводит некую "авторизацию" , и динамически создает сокет и резервирует его для работы с этим IP. Тоесть UdpServer принимает пакет и рересылает его через соответствующий порт... Тогда все приходящие на порт этого сокета ответы с сервера(server 1),можно будет легко переслать обратно клиенту.Тоесть отпадает необходимость програмно рыться во всех пакетах с серверов и распределять их между клиентами.Но я так и не смог придумать реализацию запроса клиента. Тоесть: Клиент1 посылает на прокси пакет с информацией и должен послать адрес , куда этот пакет переслать. Впринципе можно написать клиент для работы в режиме прокси, который бы менял в пакете адрес получателя на адрес прокси , а адрес получателя выделял бы для прокси как адрес для пересылки... Но такой подход требует весьма масштабного подхода, который выводит проэкт на коммерческий уровень... более дилетантский подход: Можно также написать клиент, который перенаправил бы все пакеты на прокси (ну через тот же Hosts например), а вслед за каждым пакетом отправлял бы пакет с адресом для пересылки... Ну и если такой proxy нужен в узкой специализации (для конкретного торояна, или игры) тоесть конкретный ip и порт, то он требует всего лишь настройки приложения,для которого используется udp proxy ... ( например адрес Геймспая , или еще чего нибуть в другом направлении...) ps: если б кто-нибуть подсказал более простой способ ,был бы ему оч. благодарен...^^