示例#1
0
void init_loop()
{
    init_sqlite();
    init_ac();
    init_trie_tree();
    init_query_table();
    init_query_table_N();
    down_ac();
    add_query_rule("Li & Hong # Zhi");
    add_query_rule("free");
    add_query_rule("sun # peiyuan");
}
示例#2
0
文件: main.c 项目: hanjiabao/research
int data_one_from_db (char *dataname)
{

	struct weblink * link;

	init_sqlite(dataname);
	
	link = get_a_record();
	if (link == NULL)
        {
		db_close ();
		return 0;
	}
	use_domain = link->domain;	
        use_page   = link->page;
	data_from_web (link->domain,link->page);
	update_db(link->id,2);

	free(link->page);
	
	db_close ();
	
	return 1;
}
示例#3
0
int main(int argc, char**argv)
{
	int sockfd;
	int rc;
	sqlite3* db;
	struct sockaddr_in otheraddr;
	int result;
	FILE* pfile; 
	char *dbaddr = "jsondata.db";
	char* err_msg;
	char mesg[300];
	char bufmesg[1000]="";
	char tempmesg[200]="";
	char sql[1000]="";
	
	//check input
	if (argc != 2)
	{
		printf("usage: server <Port>\n");
		exit(1);
	}
	//init socket
	init_udp_server_socket(&sockfd,argv[1]);
	//init sqlite
	init_sqlite(sql,dbaddr,&db);
	rc = sqlite3_exec(db, sql, 0, 0, &err_msg);
	if (rc != SQLITE_OK) 
	{
	  
	    fprintf(stderr, "SQL init error: %s\n", err_msg);
	    sqlite3_free(err_msg);
	    sqlite3_close(db);
	    exit(1);
	}
	//receiving data
	socklen_t len=sizeof(otheraddr);
	while(1)
	{ 
	  result = recvfrom(sockfd, mesg, sizeof(mesg), 0, (struct sockaddr *)&otheraddr, &len);
	  if(result < 0)
	  {
	      perror("talker: recvfrom");
	      exit(1);
	  }
 	  else if (result > 0)
	  {
 	      mesg[result]='\0';
	      json_to_sqlite(mesg,sql);
	      rc = sqlite3_exec(db, sql, 0, 0, &err_msg);
	      if (rc != SQLITE_OK) 
	      {
		  fprintf(stderr, "SQL error: %s\n", err_msg);
		  sqlite3_free(err_msg);
		  sqlite3_close(db);
		  exit(1);
	      }
//	      printf("Message received\n");
	  }

  
	}
	sqlite3_close(db);
	return 0;
}