Как слушать UDP и использовать PHP - PullRequest
3 голосов
/ 26 августа 2009

Мне нужно создать систему, которая прослушивает запросы от устройства GPS, способного только отправлять UDP-запросы. Затем я собираюсь проанализировать запросы с надеждой на PHP, если это возможно.

Я не знаю с чего начать. Что мне нужно? Могу ли я использовать PHP? Будет ли надежным использовать PHP? Могу ли я просто настроить Apache для прослушивания UDP-запросов?

Ответы [ 4 ]

3 голосов
/ 26 августа 2009

Я не знаю с чего начать.

Вам необходимо иметь представление об общем дизайне программы и, как указал @ karim79, понимание API программирования сокетов для выбранного вами языка.

Могу ли я просто настроить Apache для прослушивания UDP-запросов?

Вы имеете в виду Apache httpd? Краткий ответ «нет»

Вместо этого используйте что-то вроде PEAR System_Daemon.

Длинный ответ: «Да, это возможно». В частности, с помощью модульных плагинов, раскрывающих внутренности httpd, вы можете делать практически все, что вы хотите (tm) (см., Например, mod_perl). Вы можете превратить httpd в своего рода сервер приложений для длительных (набор?) PHP-процессов, которые сами по себе не управляются HTTP.

Лучшим ответом обоих будет опять "нет". :)

2 голосов
/ 27 августа 2009

Вы можете просто запустить свой PHP-скрипт с помощью inetd.

2 голосов
/ 26 августа 2009

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

http://www.devshed.com/c/a/PHP/Socket-Programming-With-PHP/

1 голос
/ 26 августа 2009

Ну, PHP поддерживает набор функций сокетов , которые позволяют вам иметь дело с UDP, я сам использовал их для создания класса NSLookup, который мог бы указать сервер имен (все в UDP) класс пинга (RAW / ICMP). Он работает так же, как стандартная библиотека сокетов C / C ++. Но я не думаю, что использование Apache + PHP - хороший выбор для создания таких вещей. Если вы хотите придерживаться PHP, лучше написать его как консольное приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...