【发布时间】:2010-11-29 21:09:32
【问题描述】:
我需要通过 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";
}
?>
问题
如何启动和停止此服务器?
如何让它不间断地工作(小时/天/周),因为现在它会在某个时间点停止执行。
如果
10/20/100/1000跟踪器连接并开始向192.168.0.179:2323(服务器)发送数据会怎样?
【问题讨论】:
-
听起来你应该阅读一下客户端/服务器的安排。
-
我阅读了一些关于客户端/服务器安排的信息,但我仍然有很多问题。