Сервер (php скрипт) получает запрос (GET или POST) и отправляет назад ответ (echo).
Например if (isset($_GET['get_value'])) {echo 'Ответ';}
Это прекрасно работает из браузера и других самописных программ (http запрос на основе сокетов и прием ответа).
Сейчас потребовалась возможность отправить ответ (echo 'Ответ';) на другой порт получателю, а не тот от которого пришел запрос.
Возможно это сделать на php? указать в нем какие либо параметры и т.д.?
PS
Да я могу сделать это без php, в программе приема, но нужно именно на сервере-php.
Почитав, погуглив пришел к выводу, что в запросе, помимо ip, присутствуют 2 номера порта (понятно что в пакете полно другой инфы по типу ip, crc и т.д.).
Номер порта отправителя и получателя. А если отправитель находится за NAT, то по возвращении ответа (пакета) номер порта получателя будет преобразован в соответствии с таблицей маршрутизатора.
Например отправляем запрос на 80 порт с компа за NAT и ждем ответ на 81 порт.
Маршрутизатор изменяет 81 порт, на 82 и отправляет запрос на 80 порт.
При получении ответа, заменяет назад 82 порт на 81.
Получается, что я не смогу инициировать TCP соединение с компом, находящимся за NAT т.к. не знаю его IP, а IP маршрутизатора бесполезен в силу отсутствия записи к его таблице, о замене портов (непонятно кому в локальной сети отдать пакет).
logpol32: ну для всяких там p2p и sip проблему NAT решают, но это не ваш случай. В вашем случае на клиенте должно быть установлено 2 соединения с сервером. Зачем - это уже от вашей задачи зависит.