TCP aracılığıyla işleme sürekli veri

1 Cevap php

Ben TCP aracılığıyla sürekli verileri işlemek ve veritabanına yazmak gerekir. Ben (ZZ Coder tarafından önerilen) aşağıdaki kodu kullanabilirsiniz:

<?php

$fp = fsockopen ("192.168.0.179", 2323);

    if (!$fp) {
        die ("$errstr ($errno)");
    }

    if ($fp) {

$user="root";
$password="12345";
$database="db_name";
mysql_connect('localhost',$user,$password);
@mysql_select_db($database) or die( "Unable to select database");

    $point=false;
    $status="";
    $fix=0;
    while (!$point) {
        $string=@fgets($fp, 4096);

    switch (substr($string,0,6)) {
        case "\$GPRMC" :
        list($sentence, $time, $status, $latitude, $NS, $longitude, $EW, $speed, $course, $date, $magvar, $magvarEW)= explode(",", trim($string));
        mysql_query("INSERT INTO gps_data (time, course) VALUES ('$time', '$course')");
        break;

        case "\$GPGGA" :
        list($sentence, $time, $latitude, $NS, $longitude, $EW, $fix, $nbsat, $HDOP, $altitude,,,,,)= explode(",", trim($string));
        break;

        default :
        break;
    }

        if ($status=="A" ve $fix == 1){
            $point=true;
        }
    }

    fclose ($fp);
    mysql_close();

    }

    else {
        print "Fatal error\n";
    }

?>

Questions

  1. Nasıl başlatmak ve bu sunucuyu durdurabilirim?

  2. Şu vea o noktada duracaktır çünkü nasıl ben (saat / gün / hafta) kesintisiz çalışması yapabilirim.

  3. 10/20/100/1000 izci bağlamak ve 192.168.0.179:2323 (server) veri göndermeye başlamak ne olur?

1 Cevap

2 ile ilgili:

Aşağıdaki kod satırları

if ($status=="A" and $fix == 1){
        $point=true;
}

GPS bir kilit satın zaman while döngüsü kırmaya neden gibi görünüyor. Bu durumda GPS kilidi satın zaman program durur.