【问题标题】:Access raw Apache webserver request访问原始 Apache 网络服务器请求
【发布时间】:2011-08-13 07:26:47
【问题描述】:

我打算设计一个网络 gps 跟踪应用程序。 gps 在端口 7070(我打算将其更改为 80)上使用 TCP(无 HTTP 标头)传输数据。我知道 GPS 跟踪器和客户端之间的通信协议,但是我被卡住了,因为我无法拦截网络服务器上的数据包。 由于应用程序处于开发阶段并且我是一个爱好者,我买不起专用的 Web 主机服务器,因此无法访问 php-cli 接口进行套接字编程。

有什么方法可以绕过对 php-cli 的需求并拦截原始 tcp 数据包。

谢谢

【问题讨论】:

    标签: php apache sockets


    【解决方案1】:

    只需在端口 7070 上侦听一个专用的 PHP 脚本,您可以使用 fsockopen() 来完成。当 Apache 已经在侦听端口 80 时,您不想让 GPS 直接发送到端口 80。Apache 会看到一组非 HTTP 数据进入并完全忽略该请求。

    $handle = fsockopen('localhost', 7070, $errno, $errstr);
    if (!$handle) {
       die("Couldn't bind to socket (err $errno): $errstr");
    }
    
    while($data = fgets($handle)) {
        ... process gps data ...
    }
    

    将是最简单的基本形式。

    【讨论】:

      猜你喜欢
      • 2018-04-16
      • 2010-11-13
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多