gpt4 book ai didi

php - 通过 TCP 进行连续数据处理

转载 作者:可可西里 更新时间:2023-11-01 02:55:08 24 4
gpt4 key购买 nike

我需要通过TCP处理连续数据并将其写入数据库。我使用以下代码(由 ZZ Coder 建议):

<?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" and $fix == 1){
$point=true;
}
}

fclose ($fp);
mysql_close();

}

else {
print "Fatal error\n";
}

?>

问题

  1. 如何启动和停止此服务器?

  2. 我如何让它不间断地(小时/天/周)工作,因为现在它在某个时间点停止执行。

  3. 如果 10/20/100/1000 跟踪器连接并开始向 192.168.0.179:2323(服务器)发送数据会怎样?

最佳答案

  1. 您需要使用 PHP 命令行工具运行该程序,即 /usr/bin/php server.php。要停止它,请使用 kill(1) 将其杀死。
  2. 正如 Shawn Hsiao 所写:程序在从服务器收到终止命令时终止。
  3. 你只提供了客户端的代码,没有提供服务端的代码,所以很难说。但是,一般来说,让数百个客户端连接到单个服务器并没有什么错。

关于php - 通过 TCP 进行连续数据处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1451091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com