⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 SD卡源程序 SD卡源程序 SD卡源程序 SD卡源程序 SD卡源程序
💻 C
字号:
#include "gprs_dll.h"
#include "signal.h"

#define NULL 0
int i_packamount;

void data_process(data_record *pdr,char *mess)
{
    switch (pdr->m_data_type)
    {
    case 0x01:
        printf("DTU login -- %s\n",pdr->m_userid);
        break;
    case 0x02:
        printf("DTU logout -- %s\n",pdr->m_userid);
        break;
    case 0x09:
        i_packamount++;
        printf("[ %d ]  %s - %d - %s",i_packamount,pdr->m_userid,pdr->m_data_len,asctime(localtime(&pdr->m_recv_date)));
        printf("Recieve From DTU:%s\n",pdr->m_data_buf);
        break;
    default:
        NULL;
    }
}

main()
{
    char mess[512];
    data_record dr;

    i_packamount=0;

    printf("-------------begin\n");]
    
    //设置回调函数,UDP socket收到数据后,就会调用设置
    //的函数;
    //start_gprs_server(data_process,5002,mess,10,20);
    
    //如果回调函数设置为NULL,则需要手工定期去读数据;
    //start_gprs_server(data_process,5002,mess,10,20);
    start_gprs_server(NULL,5002,mess,20,10);

    printf("%s\n",mess);
    //pause();

    for (;;)
    {
        if (0==do_read_proc(&dr,mess,false))
        {
           switch (dr.m_data_type)
           {
           case 0x01:
               printf("DTU login -- %s\n",dr.m_userid);
               break;
           case 0x02:
               printf("DTU logout -- %s\n",dr.m_userid);
               break;
           case 0x09:
               i_packamount++;
               printf("[ %d ]  %s - %d - %s",i_packamount,dr.m_userid,dr.m_data_len,asctime(localtime(&dr.m_recv_date)));
               printf("Recieve From DTU:%s\n",dr.m_data_buf);
               do_send_user_data(dr.m_userid,dr.m_data_buf,dr.m_data_len,NULL);
               break;
           default:
               NULL;
           }
       }
       //sleep(1);
    }

    printf("==========programe terminated\n==========");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -