За последние 24 часа нас посетили 18608 программистов и 1661 робот. Сейчас ищут 932 программиста ...

Как создать слушающий TCP сокет , который не закрывается

Тема в разделе "Прочие вопросы по PHP", создана пользователем maxval, 13 авг 2009.

  1. maxval

    maxval Активный пользователь

    С нами с:
    9 авг 2009
    Сообщения:
    7
    Симпатии:
    0
    есть ли возможность созданный при помощи socket_create_listen
    сокет, оставить слушающим, после завершения сценария наподобие
    pfsockopen?
     
  2. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    а зачем вам слушать сокет, если сценарий уже завершился?
     
  3. maxval

    maxval Активный пользователь

    С нами с:
    9 авг 2009
    Сообщения:
    7
    Симпатии:
    0
    чтобы повторно не открывать сокет, после перехода между страницами
     
  4. maxval

    maxval Активный пользователь

    С нами с:
    9 авг 2009
    Сообщения:
    7
    Симпатии:
    0
  5. kostyl

    kostyl Guest

    в мемкеш сериализовать.
     
  6. maxval

    maxval Активный пользователь

    С нами с:
    9 авг 2009
    Сообщения:
    7
    Симпатии:
    0
    id ресурса?
     
  7. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Ресурсы нельзя хранить в memcache или где либо. Покрайней мере на данном этапе.
     
  8. maxval

    maxval Активный пользователь

    С нами с:
    9 авг 2009
    Сообщения:
    7
    Симпатии:
    0
    а что тогда сериализовать?
     
  9. maxval

    maxval Активный пользователь

    С нами с:
    9 авг 2009
    Сообщения:
    7
    Симпатии:
    0
  10. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Сценарий генерации ответа на запрос выполняется от начала до конца за приемлимое время. Поэтому делать в сценарии постоянно слушающий сокет неверно идеологически. Нужен отдельный процесс — демон, который и будет заниматься прослушиванием сокета. Сценарий же должен подключаться и забирать данные у этого демона.

    Демон — это бесконечный цикл типа while (true), в котором находится функциональность чтения данных из сокета и их анализ. Плюс еще один сокет для обмена данными со сценарием.

    Вообще рекомендую описать подробнее задачу: возможно, просто с другой стороны надо зайти.
     
  11. maxval

    maxval Активный пользователь

    С нами с:
    9 авг 2009
    Сообщения:
    7
    Симпатии:
    0
    Согласен с вами Алекс! Задача - во время выполнения сценария получать получать ответ на произвольный запрос от слушающего сценария, реализующего функциональность пхп, не останавливая текущий сценарий. То есть вы предлагаете написать демона на пхп и обращаться к нему по мере необходимости.
     
  12. kostyl

    kostyl Guest

    maxval
    ты что мне поверил???
     
  13. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Понял ничего :)

    В крайнем случае, да. Но сначала предлагаю изложить задачу не общими словами, а конкретно что, куда, откуда и зачем. Тогда, скорее всего, никаких сокетов не понадобится.