version 1.1.1.1.2.26, 2011/12/13 14:57:15
|
version 1.1.1.1.2.28, 2011/12/14 12:45:30
|
Line 25 Usage(void)
|
Line 25 Usage(void)
|
"\t-q <QoS>\t\tQoS level (0-at most 1, 1-at least 1, 2-exactly 1)\n" |
"\t-q <QoS>\t\tQoS level (0-at most 1, 1-at least 1, 2-exactly 1)\n" |
"\t-d\t\t\tSend duplicate message\n" |
"\t-d\t\t\tSend duplicate message\n" |
"\t-r\t\t\tRetain message from broker\n" |
"\t-r\t\t\tRetain message from broker\n" |
"\t-C\t\t\tClear before connect\n" | "\t-C\t\t\tNot clear before connect!\n" |
"\t-c <config>\t\tService config\n" |
"\t-c <config>\t\tService config\n" |
"\t-f\t\t\t'value_for_publish' is file instead text\n" |
"\t-f\t\t\t'value_for_publish' is file instead text\n" |
"\t-p <port>\t\tDifferent port for connect (default: 1883)\n" |
"\t-p <port>\t\tDifferent port for connect (default: 1883)\n" |
|
"\t-T <timeout>\t\tKeep alive timeout in seconds\n" |
"\t-U <username>\t\tUsername\n" |
"\t-U <username>\t\tUsername\n" |
"\t-P <password>\t\tPassword\n" |
"\t-P <password>\t\tPassword\n" |
"\t-W <topic>\t\tWill Topic\n" |
"\t-W <topic>\t\tWill Topic\n" |
Line 85 main(int argc, char **argv)
|
Line 86 main(int argc, char **argv)
|
AIT_SET_STR(&args->User, ""); |
AIT_SET_STR(&args->User, ""); |
AIT_SET_STR(&args->Pass, ""); |
AIT_SET_STR(&args->Pass, ""); |
|
|
|
args->ka = MQTT_KEEPALIVE; |
strlcpy(szCfgName, DEFAULT_CONFIG, sizeof szCfgName); |
strlcpy(szCfgName, DEFAULT_CONFIG, sizeof szCfgName); |
while ((ch = getopt(argc, argv, "U:P:p:t:s:q:drc:W:M:fDvh")) != -1) | while ((ch = getopt(argc, argv, "T:U:P:p:t:s:q:drc:W:M:fDvh")) != -1) |
switch (ch) { |
switch (ch) { |
|
case 'T': |
|
args->ka = (u_short) strtol(optarg, NULL, 0); |
|
break; |
case 'M': |
case 'M': |
AIT_FREE_VAL(&args->Will.Msg); |
AIT_FREE_VAL(&args->Will.Msg); |
AIT_SET_STR(&args->Will.Msg, optarg); |
AIT_SET_STR(&args->Will.Msg, optarg); |
Line 138 main(int argc, char **argv)
|
Line 143 main(int argc, char **argv)
|
args->Retain++; |
args->Retain++; |
break; |
break; |
case 'C': |
case 'C': |
args->Clear++; | args->notClear++; |
break; |
break; |
case 'f': |
case 'f': |
args->isFile++; |
args->isFile++; |
Line 161 main(int argc, char **argv)
|
Line 166 main(int argc, char **argv)
|
} |
} |
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
if (!argc) { | if (argc < 2) { |
printf("Error:: host for connect not found!\n"); | printf("Error:: host for connect not found or connection id not supplied!\n"); |
args->free(args); |
args->free(args); |
free(args); |
free(args); |
Usage(); |
Usage(); |
return 1; |
return 1; |
|
} else { |
|
AIT_FREE_VAL(&args->ConnID); |
|
AIT_SET_STR(&args->ConnID, argv[1]); |
} |
} |
if (argc > 1) | if (argc > 2) |
AIT_SET_STR(&args->Value, argv[1]); | AIT_SET_STR(&args->Value, argv[2]); |
if (!io_gethostbyname(*argv, port, &args->addr)) { |
if (!io_gethostbyname(*argv, port, &args->addr)) { |
printf("Error:: host not connect #%d - %s\n", io_GetErrno(), io_GetError()); |
printf("Error:: host not connect #%d - %s\n", io_GetErrno(), io_GetError()); |
args->free(args); |
args->free(args); |
Line 193 main(int argc, char **argv)
|
Line 201 main(int argc, char **argv)
|
return 2; |
return 2; |
} |
} |
|
|
if (try2Connect(sock) == -1) { | printf("Connected ... "); |
close(sock); | switch (try2Connect(sock)) { |
UnloadConfig(&cfg); | case -1: |
args->free(args); | printf("FAILED!\n"); |
free(args); | close(sock); |
return 3; | UnloadConfig(&cfg); |
| args->free(args); |
| free(args); |
| return 3; |
| case MQTT_RETCODE_ACCEPTED: |
| printf("OK\n"); |
| break; |
| case MQTT_RETCODE_REFUSE_VER: |
| printf("Incorrect version\n"); |
| break; |
| case MQTT_RETCODE_REFUSE_ID: |
| printf("Incorrect connectID\n"); |
| break; |
| case MQTT_RETCODE_REFUSE_UNAVAIL: |
| printf("Service unavailable\n"); |
| break; |
| case MQTT_RETCODE_REFUSE_USERPASS: |
| printf("Refuse user/pass\n"); |
| break; |
| case MQTT_RETCODE_DENIED: |
| printf("DENIED.\n"); |
| break; |
} |
} |
|
|
shutdown(sock, SHUT_RDWR); |
shutdown(sock, SHUT_RDWR); |