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"); }
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; }
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; }