void onConnectFailure(void* context, MQTTAsync_failureData* response) { printf("Connect failed, rc %d\n", response ? response->code : -1); connected = -1; MQTTAsync client = (MQTTAsync)context; myconnect(client); }
int main(int argc, char** argv) { int rc = 0; if (argc < 2) usage(); char* topic = argv[1]; if (strchr(topic, '#') || strchr(topic, '+')) opts.showtopics = 1; if (opts.showtopics) printf("topic is %s\n", topic); getopts(argc, argv); IPStack ipstack = IPStack(); MQTT::Client<IPStack, Countdown, 1000> client = MQTT::Client<IPStack, Countdown, 1000>(ipstack); signal(SIGINT, cfinish); signal(SIGTERM, cfinish); MQTTPacket_connectData data = MQTTPacket_connectData_initializer; data.willFlag = 0; data.MQTTVersion = 3; data.clientID.cstring = opts.clientid; data.username.cstring = opts.username; data.password.cstring = opts.password; data.keepAliveInterval = 10; data.cleansession = 1; printf("will flag %d\n", data.willFlag); myconnect(ipstack, client, data); rc = client.subscribe(topic, opts.qos, messageArrived); printf("Subscribed %d\n", rc); while (!toStop) { client.yield(1000); //if (!client.isconnected) // myconnect(ipstack, client, data); } printf("Stopping\n"); rc = client.disconnect(); ipstack.disconnect(); return 0; }
gboolean static writehnd() { //rl_printf("test\n"); int chs = getChannelstatus(); //rl_printf("status=%s\n",data); if (conn_state == STATE_DISCONNECTED && chs==1) { myconnect(); } if(chs==0) { disconnect_io(); return TRUE; } if(conn_state == STATE_CONNECTING) return TRUE; if(attrib ==NULL) return TRUE; http(); rl_printf("data = %s\n",data); if( pre_state != 31 && atoi(data) ==1) { size_t plen; uint8_t *value; plen = gatt_attr_data_from_string("31", &value); gatt_write_cmd(attrib, 14, value, plen, NULL, NULL); g_free(value); pre_state = 31; } else if(pre_state != 30 && atoi(data)==0) { size_t plen; uint8_t *value; plen = gatt_attr_data_from_string("30", &value); gatt_write_cmd(attrib, 14, value, plen, NULL, NULL); g_free(value); pre_state = 30; } //http(); return TRUE; }
static int query(MYSQL_RES **res, const char *fmt, ...) { bool failed = false; char qstr[1024]; va_list ap; int err; va_start(ap, fmt); err = re_vsnprintf(qstr, sizeof(qstr), fmt, ap); va_end(ap); if (err < 0) return -1; retry: if (!mysql_query(&my.mysql, qstr)) { if (res) { *res = mysql_store_result(&my.mysql); if (!(*res)) return ENOMEM; } return 0; } if (failed) return -1; switch (mysql_errno(&my.mysql)) { case CR_SERVER_GONE_ERROR: case CR_SERVER_LOST: failed = true; mysql_close(&my.mysql); err = myconnect(); if (err) { restund_error("mysql: %s\n", mysql_error(&my.mysql)); break; } goto retry; default: err = -1; break; } return err; }
int doconn() { for ( int i=0; i<1000; i++ ) { int ret; int sock = mysock(); if (sock == -1 ) return -1; ret = myconnect(sock,(char*)"127.0.0.1",6666); //if ( ret == -1 ) // return -1; //twrite((void*)sock); } printf("pid %d sleep\n",getpid()); sleep(60000); }
/******************************************************** * main routine * *********************************************************/ int main(int argc, char *argv[]) { SQLHENV henv; SQLHDBC hdbc; SQLHSTMT hstmt; SQLINTEGER narg; /* * show the usage string when the user asks for this */ printf("***********************************************\n"); printf("usage: my_tran [DSN] [UID] [PWD] \n"); printf("***********************************************\n"); /* * if connection string supplied through arguments, overrite * the default one.. */ for(narg = 1; narg < argc; narg++) { if ( narg == 1 ) mydsn = argv[1]; else if ( narg == 2 ) myuid = argv[2]; else if ( narg == 3 ) mypwd = argv[3]; } /* * connect to MySQL server */ myconnect(&henv,&hdbc,&hstmt); /* * simple transaction test */ my_transaction(hdbc, hstmt); /* * disconnect from the server, by freeing all resources */ mydisconnect(&henv,&hdbc,&hstmt); return(0); }
static int module_init(void) { static struct restund_db db = { .allh = accounts_getall, .cnth = accounts_count, .tlogh = NULL, }; conf_get_str(restund_conf(), "mysql_host", my.host, sizeof(my.host)); conf_get_str(restund_conf(), "mysql_user", my.user, sizeof(my.user)); conf_get_str(restund_conf(), "mysql_pass", my.pass, sizeof(my.pass)); conf_get_str(restund_conf(), "mysql_db", my.db, sizeof(my.db)); conf_get_u32(restund_conf(), "mysql_ser", &my.version); if (myconnect()) { restund_error("mysql: %s\n", mysql_error(&my.mysql)); } restund_db_set_handler(&db); return 0; }
int main(int argc, char *argv[]){ char buff[N], *param; //1024 int j = 0, nb; if( argc != 2){ printf("Usage: %s <server host>\n", argv[0]); exit(1); } printf("commands\n"); do{ memset(buff, '\0', N); prompt(); gets(buff); param = strchr(buff,' '); // param <- commands if (param) { *param=0; param++; } for(j = 0; j < NB_CMDS; j++) if( !strcmp(buff, commandes[j])) break; switch(j){ case(OPEN): if(connection) printf("already connected\n"); else myconnect(argv[1]); break; case(GET): if(!connection) printf("Not connected!\n"); else get(param); break; case(PUT): if(!connection) printf("Not connected!\n"); else put(param); break; case(MGET): if(!connection) printf("Not connected!\n"); else mget(param); break; case(MPUT): if(!connection) printf("Not connected!\n"); else mput(param); break; case(CD): if(!connection) printf("NoT connecteD!\n"); else cd(param); break; case(LCD): lcd(param); break; case(MGET_): if(!connection) printf("Not connected!\n"); else mget_(param); break; case(MPUT_): if(!connection) printf("Not connected!\n"); else mput_(param); break; case(DIR): if(!connection) printf("Not connecte!\n"); else dir(); break; case(LDIR): ldir(); break; case(RGET): if(!connection) printf("Not connected!\n"); else rget(param); break; case(RPUT): if(!connection) printf("Not connected!\n"); else rput(param); break; //case (HELP): aide(); // break; default: printf("%s command invalid\n", buff); printf("Commands are as follows\n"); printf(" get : To Get A file from Server\n"); printf(" put : To Put A file to Server\n"); printf(" cd : change Server's Current Directory\n"); printf(" lcd : Change Client's current Directory\n"); printf(" mget : To Get multiple files from Server\n"); printf(" mput : To put multiple files from Server\n"); printf(" dir : List the Server's current Directory\n"); printf(" ldir : List the Client's current Directory\n"); printf(" mget_ : Put files with wildcard support\n"); printf("mput_ : get files with wildcard support\n"); printf("rget : Get a directory recursively\n"); printf("rput : Put a Directory recursiovely\n"); break; } } while(1); return(0); }
int main(int argc, char** argv) { //MQTTClient client; // MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; char topic[200] = ""; char* buffer = NULL; int rc = 0; char url[100]; char broker[100]; if (argc < 2) usage(); getopts(argc, argv); // sprintf(url, "%s:%s", opts.host, opts.port); // if (opts.verbose) // printf("URL is %s\n", url); // char a[200] = "55e6ba684a481fa955f3912e"; // char b[200] = "hello"; strcpy(topic, argv[1]); //opts.appkey = a; //topic = b; printf("Using topic %s\n", topic); int res = MQTTClient_setup_with_appkey_and_deviceid(opts.appkey, opts.deviceid, &my_reg_info); if (res < 0) { printf("can't get reg info\n"); return 0; } printf("Get reg info: client_id:%s,username:%s,password:%s, devide_id:%s\n", my_reg_info.client_id, my_reg_info.username, my_reg_info.password, my_reg_info.device_id); res = MQTTClient_get_host(opts.appkey, url); if (res < 0) { printf("can't get host info\n"); return 0; } printf("Get url info: %s\n", url); rc = MQTTClient_create(&client, url, my_reg_info.client_id, MQTTCLIENT_PERSISTENCE_NONE, NULL); MQTTClient_get_broker(&client, broker); printf("get broker:%s\n", broker); // MQTTClient_set_broker(&client, "localhost"); if (opts.authkey != NULL) { printf("set authkey\r\n"); int status; rc = MQTTClient_set_authkey(my_reg_info.client_id, opts.appkey, opts.authkey, &status); if (rc >= 0) printf("set authkey result: status:%i\r\n", status); char auth[80]; rc = MQTTClient_get_authkey(my_reg_info.client_id, opts.appkey, auth, &status); if (rc >= 0) printf("get authkey result: status:%i, authkey:%s\r\n", status, auth); } MQTTClient_get_broker(&client, broker); printf("get broker:%s\n", broker); signal(SIGINT, cfinish); signal(SIGTERM, cfinish); rc = MQTTClient_setCallbacks(client, NULL, connectionLost, messageArrived, NULL, extendedCmdArrive); conn_opts.keepAliveInterval = 300; conn_opts.reliable = 0; conn_opts.cleansession = 0; conn_opts.username = my_reg_info.username; conn_opts.password = my_reg_info.password; myconnect(&client, &conn_opts); buffer = malloc(opts.maxdatalen); rc = MQTTClient_subscribe(client, topic, 1); printf("subscribe topic:%s, %i\n", topic, rc); if (opts.alias != NULL) { printf("set alias: %s\n", opts.alias); MQTTClient_set_alias(client, opts.alias); } //MQTTClient_presence(client, topic); int ret; ret = MQTTClient_get_aliaslist(client, topic); printf("get aliaslist:%i, topic:%s\n", ret, topic); ret = MQTTClient_get_topic(client, "band1111"); printf("get topic:%i\n", ret); ret = MQTTClient_get_status(client, "band1111"); printf("get status:%i\n", ret); ret = MQTTClient_report(client, "domytest", "abc"); printf("report status:%i\n", ret); ret = MQTTClient_get_status2(client, "baidu"); printf("get status2:%i\n", ret); ret = MQTTClient_get_topiclist2(client, topic); printf("get topic list2:%i\n", ret); ret = MQTTClient_get_aliaslist2(client, topic); printf("get aliaslist2:%i\n", ret); sleep(7); cJSON *apn_json, *aps; cJSON *Opt = cJSON_CreateObject(); cJSON_AddStringToObject(Opt,"time_to_live", "120"); cJSON_AddStringToObject(Opt,"time_delay", "1100"); cJSON_AddStringToObject(Opt,"apn_json", "{\"aps\":{\"alert\":\"FENCE alarm\", \"sound\":\"alarm.mp3\"}}"); ret = MQTTClient_publish2(client, topic, strlen("test") + 1, "test", Opt); cJSON_Delete(Opt); printf("publish2 status:%i\n", ret); while (!toStop) { int data_len = 0; int delim_len = 0; delim_len = strlen(opts.delimiter); do { buffer[data_len++] = getchar(); if (data_len > delim_len) { //printf("comparing %s %s\n", opts.delimiter, &buffer[data_len - delim_len]); if (strncmp(opts.delimiter, &buffer[data_len - delim_len], delim_len) == 0) break; } } while (data_len < opts.maxdatalen); if (opts.verbose) printf("Publishing data of length %d\n", data_len); rc = MQTTClient_publish(client, topic, data_len, buffer); if (rc != 0) { myconnect(&client, &conn_opts); rc = MQTTClient_publish(client, topic, data_len, buffer); printf("reconnect %i\n", rc); } if (opts.qos > 0) MQTTClient_yield(); } printf("Stopping\n"); free(buffer); MQTTClient_disconnect(client, 0); MQTTClient_destroy(&client); return 0; }
void connectionLost(void *context, char *cause) { myconnect(&client, &conn_opts); // printf("%s, %s, %s\r\n", __func__, context, cause); }
int main(int argc, char** argv) { MQTTClient client; MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; char topic[128]; int rc = 0; char url[100]; create_push_topic(topic, "message"); printf("topic is %s\n", topic); if (strchr(topic, '#') || strchr(topic, '+')) opts.showtopics = 1; if (opts.showtopics) printf("topic is %s\n", topic); sprintf(url, "%s:%s", opts.host, opts.port); rc = MQTTClient_create(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, NULL); signal(SIGINT, cfinish); signal(SIGTERM, cfinish); conn_opts.keepAliveInterval = 10; conn_opts.reliable = 0; conn_opts.cleansession = 0; conn_opts.username = opts.token; conn_opts.password = opts.appid; myconnect(&client, &conn_opts); rc = MQTTClient_subscribe(client, topic, opts.qos); while (!toStop) { char* topicName = NULL; int topicLen; MQTTClient_message* message = NULL; rc = MQTTClient_receive(client, &topicName, &topicLen, &message, 1000); if (message) { if (opts.showtopics) printf("%s\t", topicName); if (opts.nodelimiter) printf("%.*s", message->payloadlen, (char*)message->payload); else printf("%.*s%s", message->payloadlen, (char*)message->payload, opts.delimiter); fflush(stdout); MQTTClient_freeMessage(&message); MQTTClient_free(topicName); } if (rc != 0) myconnect(&client, &conn_opts); } printf("Stopping\n"); MQTTClient_disconnect(client, 0); MQTTClient_destroy(&client); return 0; }
int main(int argc, char** argv) { MQTTClient client; MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; MQTTClient_SSLOptions ssl_opts = MQTTClient_SSLOptions_initializer; char* topic = NULL; char* buffer = NULL; int rc = 0; char url[100]; if (argc < 2) usage(); getopts(argc, argv); sprintf(url, "%s:%s", opts.host, opts.port); if (opts.verbose) printf("URL is %s\n", url); topic = argv[1]; printf("Using topic %s\n", topic); rc = MQTTClient_create(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, NULL); signal(SIGINT, cfinish); signal(SIGTERM, cfinish); rc = MQTTClient_setCallbacks(client, NULL, NULL, messageArrived, NULL); conn_opts.keepAliveInterval = 10; conn_opts.reliable = 0; conn_opts.cleansession = 1; conn_opts.username = opts.username; conn_opts.password = opts.password; ssl_opts.enableServerCertAuth = 0; conn_opts.ssl = &ssl_opts; myconnect(&client, &conn_opts); buffer = malloc(opts.maxdatalen); while (!toStop) { int data_len = 0; int delim_len = 0; delim_len = strlen(opts.delimiter); do { buffer[data_len++] = getchar(); if (data_len > delim_len) { //printf("comparing %s %s\n", opts.delimiter, &buffer[data_len - delim_len]); if (strncmp(opts.delimiter, &buffer[data_len - delim_len], delim_len) == 0) break; } } while (data_len < opts.maxdatalen); if (opts.verbose) printf("Publishing data of length %d\n", data_len); rc = MQTTClient_publish(client, topic, data_len, buffer, opts.qos, opts.retained, NULL); if (rc != 0) { myconnect(&client, &conn_opts); rc = MQTTClient_publish(client, topic, data_len, buffer, opts.qos, opts.retained, NULL); } if (opts.qos > 0) MQTTClient_yield(); } printf("Stopping\n"); free(buffer); MQTTClient_disconnect(client, 0); MQTTClient_destroy(&client); return 0; }
int main(int argc, char *argv[]) { struct sockaddr_in sin; char opt; char *pline; int errflg = 0; int sd; filename = NULL; /* Parse command line options */ while ((opt = getopt(argc, argv, "f:q")) != EOF) { switch (opt) { case 'f': filename = optarg; break; case 'q': ++quiet_opt; break; case '?': ++errflg; break; } } if (errflg || optind != argc - 1) { fputs(usage, stderr); exit(1); } pline = argv[optind]; if (parse_address(pline, &sin) < 0) { perror("parse_address"); exit(1); } if (!sin.sin_port) { fprintf(stderr, "Format is %s server:port\n", argv[0]); exit(1); } if ((sd = mysocket()) < 0) { perror("mysocket"); exit(1); } sd = myconnect(sd, (struct sockaddr *) &sin, sizeof(struct sockaddr_in)); if (sd < 0) { perror("myconnect"); exit(1); } loop_until_end(sd); if (myclose(sd) < 0) { perror("myclose"); } return 0; } /* end main() */
int main(int argc, char** argv) { MQTTAsync_disconnectOptions disc_opts = MQTTAsync_disconnectOptions_initializer; MQTTAsync_responseOptions pub_opts = MQTTAsync_responseOptions_initializer; MQTTAsync_createOptions create_opts = MQTTAsync_createOptions_initializer; MQTTAsync client; char* topic = NULL; char* buffer = NULL; int rc = 0; char url[100]; if (argc < 2) usage(); getopts(argc, argv); sprintf(url, "%s:%s", opts.host, opts.port); if (opts.verbose) printf("URL is %s\n", url); topic = argv[1]; printf("Using topic %s\n", topic); create_opts.sendWhileDisconnected = 1; rc = MQTTAsync_createWithOptions(&client, url, opts.clientid, MQTTCLIENT_PERSISTENCE_NONE, NULL, &create_opts); signal(SIGINT, cfinish); signal(SIGTERM, cfinish); rc = MQTTAsync_setCallbacks(client, client, connectionLost, messageArrived, NULL); myconnect(&client); buffer = malloc(opts.maxdatalen); while (!toStop) { int data_len = 0; int delim_len = 0; delim_len = (int)strlen(opts.delimiter); do { buffer[data_len++] = getchar(); if (data_len > delim_len) { /* printf("comparing %s %s\n", opts.delimiter, &buffer[data_len - delim_len]); */ if (strncmp(opts.delimiter, &buffer[data_len - delim_len], delim_len) == 0) break; } } while (data_len < opts.maxdatalen); if (opts.verbose) printf("Publishing data of length %d\n", data_len); pub_opts.onSuccess = onPublish; pub_opts.onFailure = onPublishFailure; do { rc = MQTTAsync_send(client, topic, data_len, buffer, opts.qos, opts.retained, &pub_opts); } while (rc != MQTTASYNC_SUCCESS); } printf("Stopping\n"); free(buffer); disc_opts.onSuccess = onDisconnect; if ((rc = MQTTAsync_disconnect(client, &disc_opts)) != MQTTASYNC_SUCCESS) { printf("Failed to start disconnect, return code %d\n", rc); exit(EXIT_FAILURE); } while (!disconnected) #if defined(WIN32) Sleep(100); #else usleep(10000L); #endif MQTTAsync_destroy(&client); return EXIT_SUCCESS; }