#include<stdio.h> 
#include<sys/socket.h> 
#include<sys/types.h> 
#include<arpa/inet.h> 
#include <unistd.h> 
#include<fcntl.h> 
#include<string.h>
#include <stdlib.h>
#include <mysql/mysql.h>
#include <syslog.h>
#define num 2048
#define IPADDR "127.0.0.1" 
#define PORT 21234 
const char *logpath = "./log"; 
int main() 

     struct sockaddr_in servaddr,cliaddr;
     int sockfd,clifd,logfd;
     socklen_t clilen;
     servaddr.sin_family = AF_INET;
     servaddr.sin_port = htons(PORT);
     servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
     sockfd=socket(AF_INET,SOCK_STREAM,0);
     bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr));
     listen(sockfd,20);
     printf("aaaaaaaaaaaaaa\n");     char buf[500];
     clilen = sizeof(cliaddr);
     clifd=accept(sockfd,(struct sockaddr *)&cliaddr,&clilen);
  
    MYSQL db;/*connector*/
    MYSQL_RES * result;/*result buffer*/
    MYSQL_ROW row;/*one row of the result*/
    int i;
    /*初始化mysql*/
    if(mysql_init(&db)==NULL)
    {
      fprintf(stderr,"Fail to initialize the db.\n");
      return -1;
    }
    /*连接数据库*/
   char host[32] = "localhost";
   char user[32] = "root";
   char passwd[38] = "123456";
   char dbc[32] = "mysql";
   char getDate[1024];
   char id[2000];
   char s[2000];
   memset(getDate,0,1024);
    if (NULL == (mysql_real_connect(&db,host,user,passwd,dbc,0,NULL,0)))
   {
      fprintf(stderr,"Connect to mysql Error:%s!",mysql_error(&db));
      return -1;
   }
        char str[2000];char str1[2000];
char Where_SQL[]="SELECT d.user_id,u.email,d.domain,d.status,v.* FROM domain_vip_status AS v, domains AS d, users AS u WHERE d.id = v.domain_id AND u.id = d.user_id AND d.grade != 'Free' ORDER BY vip_ended_at, email";
strcat(str,Where_SQL);
    if(mysql_query(&db,str)!= 0) 
    {  
      fprintf(stderr,"Fail to query the db for information.\n");
      return -1;
    }
  if ((result = mysql_store_result(&db)) == NULL)
    {
      fprintf(stderr,"Fail to get the result.\n");
      return -1;
    }
    while((row=mysql_fetch_row(result))!= NULL)     
    {        
                puts("================================================");
      printf("user_id: %s\n",row[0]);
        printf("email: %s\n",row[1]);
      printf("domain: %s\n",row[2]);
        printf("status: %s\n",row[3]);
      printf("domain_id: %s\n",row[4]);
      printf("vip_started_at: %s\n",row[5]);
              printf("vip_ended_at: %s\n",row[6]);
      puts("================================================");          char m1[]=" user_id:";char m2[]=" email:";char m3[]=" domain:";char m4[]=" status:";char m5[]=" domain_id:";char m6[]=" vip_started_at:";char m7[]=" vip_ended_at:";  
        memset(buf,0,500);
        sprintf(buf,"%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s\n",m1,row[0],m2,row[1],m3,row[2],m4,row[3],m5,row[4],m6,row[5],m7,row[6]);
               printf("%s\n",buf);
 if(clifd < 0)
 { printf("cccccccccccccccccccccc\n");
continue;     }  
 else 
     {
      send(clifd,buf,500,0);
memset(buf,0,500);
   recv(clifd,buf,500,0);
printf("recv[%s]\n",buf);
       }  
    }
    close(sockfd);
    return 0;
}数据库查询出来的数据过于庞大,客户端担心死机,而且这么大的数据也不好用,需要将select出来的几十万条数据分段发送,请问各位我该怎么改?
需要设定分段发送的间隔时间吗?怎么设定?