За последние 24 часа нас посетили 30470 программистов и 1807 роботов. Сейчас ищет 831 программист ...

Прослушка порта PHP-скриптом

Тема в разделе "Прочие вопросы по PHP", создана пользователем kit, 18 фев 2013.

  1. kit

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

    С нами с:
    18 дек 2006
    Сообщения:
    331
    Симпатии:
    1
    Адрес:
    местный
    Друзья! Есть такая задача:
    Девайс передает на определенный IP/порт пакеты в текстовом формате. Задача принять пакеты, распарсить и сохранить в БД. Причем пакетов будет много, приниматься будут круглосуточно и от нескольких девайсов. Очень хотелось бы делать это на хостинге. Может кто знает готовый скрипт, для выполнения такой задачи (может даже и не PHP). Если честно, то очень поверхностно представляю как это все будет происходить и кто будет запускать скрипт (можно конечно иметь запущенный скрипт на локальном компе при постоянном IP и установленном сервере, но повторюсь - желательно на хостинге).
    Заранее благодарен за идеи и подсказки.
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    сокеты вам в помощь.
     
  3. kit

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

    С нами с:
    18 дек 2006
    Сообщения:
    331
    Симпатии:
    1
    Адрес:
    местный
    может есть что почитать ( желательно на русском, желательно с примером)?
     
  4. r3l0c

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

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    select
    socket_create_listen

    Вот это надо поискать на php.ru|php.net кучи примеров
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    http://php.ru/manual/function.socket-accept.html
    значит, простейшая реализация на PHP такая
    Код (PHP):
    1. $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    2. socket_bind($sock, $address, $port);
    3. $client = socket_accept($sock); // на этой строке выполнение скрипта остановится, пока кто-нибудь не подключится
    4. // тут можно писать в клиента и читать с помощью socket_read, socket_write