--- mqtt/src/client.c 2011/12/13 09:51:35 1.1.2.2 +++ mqtt/src/client.c 2011/12/13 15:23:43 1.1.2.5 @@ -21,6 +21,29 @@ InitClient(void) } int -SendConnect(int sock) +try2Connect(int sock) { + int siz = 0; + + siz = mqtt_msgCONNECT(args->msg, AIT_GET_STR(&args->ConnID), args->ka, + AIT_GET_STR(&args->User), AIT_GET_STR(&args->Pass), + args->Will.Topic.val.string, args->Will.Msg.val.string, + !args->notClear, args->QoS, args->Retain); + if (siz == -1) { + printf("Error:: msgCONNECT #%d - %s\n", mqtt_GetErrno(), mqtt_GetError()); + return -1; + } + + siz = send(sock, args->msg->msg_base, siz, 0); + if (siz == -1) { + printf("Error:: send() #%d - %s\n", errno, strerror(errno)); + return -1; + } else + VERB(3) printf("Sended CONNECT %d bytes\n", siz); + + register int i; + for (i = 0; i < siz; i++) + printf("%02x ", ((u_char*)args->msg->msg_base)[i]); + printf("\n"); + return siz; }