如何监听UDP并使用PHP

时间:2009-08-26 02:25:24

标签: php linux sockets udp

我必须建立一个系统来监听来自GPS设备的请求,该设备只能发送UDP请求。然后,如果有可能,我将有希望通过PHP分析请求。

我不知道从哪里开始。我需要什么?我可以使用PHP吗?使用PHP会不可靠?我可以调整Apache来监听UDP请求吗?

4 个答案:

答案 0 :(得分:3)

  

我不知道从哪里开始。

您需要一个整体程序设计的概念,并且正如@ karim79指出的那样,了解所选语言的套接字编程API。

  

我可以调整Apache来监听UDP请求吗?

你的意思是Apache httpd?简短的回答是“不。”

使用像PEAR System_Daemon之类的东西。

答案很长,“是的,这是可能的。”特别是模块化插件暴露httpd的内部,你可以做任何你想要的东西(tm)(参见,例如,mod_perl)。您可以将httpd打入某种应用程序服务器,以获取长期运行的(一组?)PHP进程,这些进程本身并不是由HTTP驱动的。

两者的更好答案是“不”。 :)

答案 1 :(得分:2)

从各方面来看,我认为PHP应该没问题,但我自己也没有这样做过。您将需要研究套接字编程,这是一个教程:

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

答案 2 :(得分:2)

您可以通过inetd调用您的PHP脚本。

答案 3 :(得分:1)

好吧,PHP支持一组允许你处理UDP的Socket Functions,我自己用它来构建一个NSLookup类,我可以指定名称服务器(全部在UDP中)和一个Ping类(RAW / ICMP)。它的工作方式与标准C / C ++套接字库类似。但我真的不认为使用Apache + PHP是构建这些东西的不错选择。如果你想坚持使用PHP,最好将其编写为控制台应用程序。