Вы не можете этого сделать.
Я не думаю, что Apache (или любой другой веб-сервер) предоставляет идентификаторы сокетов для PHP-скрипта.Но может быть возможно однозначно идентифицировать соединение, используя $_SERVER['REMOTE_ADDR']
и $_SERVER['REMOTE_PORT']
, потому что один и тот же клиент не может инициировать два соединения с одним и тем же сервером с одного и того же эфемерного порта одновременно.
Но дажеесли вы сделаете это, сеанс keep-alive, вероятно, не будет длиться достаточно долго, чтобы обеспечить значимое взаимодействие с человеком, как это делает FTP.Большинство сеансов поддержки активности прекращаются автоматически через 5-15 секунд, в зависимости от конфигурации вашего веб-сервера.Возможно, вам удастся настроить это, но очень плохая идея - поддерживать соединения дольше, особенно при использовании Apache с mod_php, потому что длительное соединение может монополизировать ресурсы сервера за счет других пользователей.Кроме того, компьютеры и маршрутизаторы, как правило, повторно используют временные порты, поэтому нет гарантии, что вы общаетесь с одним и тем же пользователем.Все становится еще сложнее, если учесть все прокси и обратные прокси, которые люди используют каждый день.
Просто используйте сеансы и / или файлы cookie.Они всегда работают.