没有合适的资源?快使用搜索试试~ 我知道了~
精品专题(2021-2022年收藏)linux系统下的GPS定位系统服务端.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 83 浏览量
2021-10-02
17:46:37
上传
评论
收藏 21KB DOC 举报
温馨提示
试读
17页
精品专题课件(2021-2022年收藏)
资源推荐
资源详情
资源评论
《这是模拟 GPS 定位系统源代码,这只是服务端!!!》~只供参考
#include"file.h"
#include"ser_gps.h"
#define DEBUG_PRINTF sFile=__FILE__,
sLine=__LINE__,sDATE=__DATE__,sTIME=__TIME__;
int ser_getConfig(char *fileName, char *name, char *value);
TAXI g_head = NULL;//全局变量
char *sFile=NULL;
char *sDATE=NULL;
char *sTIME=NULL;
int sLine;
void debuglog(char *fmt, ...)
{
va_list ap;
static FILE *fp=NULL;
if(fp==NULL)
{
fp = fopen("./log.txt", "a");
if(fp==NULL)
{
return;
}
}
fprintf(fp, "%s_%d_%s_%s:", sFile, sLine, sDATE, sTIME);
va_start(ap, fmt);
vfprintf(fp, fmt, ap);
va_end(ap);
fprintf(fp, "");
fflush(fp);
}
void write_configuration(char *buf)//写用户的信息
{
FILE *fd;
fd = fopen("user_conf.txt", "a");
fprintf(fd, "%s", buf);
//printf("write_configuration 函数 buf = %s",buf);
fclose(fd);
}
int delete_file_a_listlink(char *message)//删除文件的一个链表(注册的链表),行参是车牌
号
{
TAXI phead = NULL;
TAXI p = NULL;
TAXI head = NULL;
head = taxi_file_read(head);//读文件信息
phead = head;
p = head;
if(head == NULL)
{
return -1;
}
while(phead != NULL)
{
//printf("进入循环》》》\n");
if(phead != head)//中间删
{
//printf("**********进入中间删**************\n");
if((strcmp(phead->car_num, message)) == 0)
{
p->next = phead->next;
free(p);
taxi_file_write(head);
//printf("**********中间删成功**************\n");
break;
}
else
{
p = phead;//p 它是 phead 的上一个节点
}
phead = p->next;//head 移到下一个节点
}
else//头删
{
//printf("**********进入头删**************\n");
if((strcmp(head->car_num, message)) == 0)
{
head = phead->next;
free(phead);
taxi_file_write(head);
//printf("**********头删成功!!**************\n");
break;
}
else
{
phead = phead->next;//之后 phead 不在指向头
}
}
}
if(phead != NULL)
{
printf("删除文件的节点成功...\n");
return 0;
}
else
{
printf("\n 没找到相同的车牌号...可能输入错误.\n");
printf("******删除失败!!!!******\n");
return -2;
}
}
void delete_behind_deal(char *message, int sd)
{
int ret;
ret = delete_file_a_listlink(message);
if(ret == 0)
{
write(sd, "success", 7);
}
else if(ret == -2)
{
write(sd, "no_the_car_number", 17);
}
else
{
write(sd, "fail", 4);
}
}
void thread_heartbeat(void)//心跳机制
{
while(1)
{
if(g_head == NULL)
{
printf(".");
fflush(stdout);
sleep(1);
}
else
{
printf("已链接好....\n");
sleep(5);
}
}
}
void on_line_print_linklist()
{
TAXI head = g_head;
printf("\n***************打印在线链表*************\n");
while(head != NULL)
{
printf("\n 手机号 = %s, 车牌号 = %s\n\n", head->phone_num, head-
>car_num);
head = head->next;
}
printf("\n***************打印完毕*************\n");
}
void print_linklist()//打印注册的链表
{
TAXI head = NULL;
TAXI phead = NULL;
head = taxi_file_read(head);//读文件信息
phead = head;
if(head == NULL)
{
printf("entry ,no find");
getchar();
return ;
}
printf("\n***************打印注册的链表*******************\n");
while(head != NULL)
{
printf("\nname\tcar_num\ton_line\tphone_num\n\n");
printf("%s\t%s\t%d\t%s\n",head->name, head->car_num, head-
>on_line,head->phone_num);
phead = head;
head = head->next;
free(phead);////////////////////打印完释放
printf("\n");
}
printf("\n***********************打印完毕*****************\n");
head = NULL;
phead = NULL;
}
TAXI linklinst_search(char *car_num, TAXI head)
{
if(head == NULL)
{
printf("entry ,no find");
getchar();
return NULL;
}
while(head != NULL)
{
if(strcmp(head->car_num, car_num) == 0)//查找相同的
{
return head;
}
head = head->next;
}
return head;
}
void heartbeat(char *message)//若不发送心跳机制就不进入这个函数,即是最后一个在线链表节点
无法清除
{
if(g_head == NULL)
{
printf("empty listlink!!!\n");
return;
}
TAXI head = g_head;
TAXI phead = NULL;
phead = head;
//printf(" heartbeat 函数 的 message = %s\n",message);
while(head != NULL)
{
//printf("进入循环》》》\n");
if(head != g_head)//中间删
{
//printf("**********进入中间删**************\n");
if((strcmp(head->car_num, message)) == 0)
{
剩余16页未读,继续阅读
资源评论
chenlu0528
- 粉丝: 2
- 资源: 48万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功