Prechádzať zdrojové kódy

refactor: 将mqtt的port类型该为uint16_t

RyanCW 1 rok pred
rodič
commit
9a91eb90fe

+ 1 - 1
example/RyanMqttTest.c

@@ -2,7 +2,7 @@
 
 #define RyanMqttClientId ("RyanMqttTessdfwrt") // 填写mqtt客户端id,要求唯一
 #define RyanMqttHost ("broker.emqx.io")        // 填写你的mqtt服务器ip
-#define RyanMqttPort ("1883")                  // mqtt服务器端口
+#define RyanMqttPort (1883)                    // mqtt服务器端口
 #define RyanMqttUserName (NULL)                // 填写你的用户名
 #define RyanMqttPassword (NULL)                // 填写你的密码
 

+ 1 - 4
mqttclient/RyanMqttClient.c

@@ -494,9 +494,6 @@ RyanMqttError_e RyanMqttSetConfig(RyanMqttClient_t *client, RyanMqttClientConfig
     RyanMqttCheck(NULL != client, RyanMqttParamInvalidError, rlog_d);
     RyanMqttCheck(NULL != clientConfig->clientId, RyanMqttParamInvalidError, rlog_d);
     RyanMqttCheck(NULL != clientConfig->host, RyanMqttParamInvalidError, rlog_d);
-    RyanMqttCheck(NULL != clientConfig->port, RyanMqttParamInvalidError, rlog_d);
-    // RyanMqttCheck(NULL != clientConfig->userName, RyanMqttParamInvalidError, rlog_d);
-    // RyanMqttCheck(NULL != clientConfig->password, RyanMqttParamInvalidError, rlog_d);
     RyanMqttCheck(NULL != clientConfig->taskName, RyanMqttParamInvalidError, rlog_d);
     RyanMqttCheck(13 < clientConfig->recvBufferSize && (RyanMqttMaxPayloadLen + 5) >= clientConfig->recvBufferSize, RyanMqttParamInvalidError, rlog_d);
     RyanMqttCheck(13 < clientConfig->sendBufferSize && (RyanMqttMaxPayloadLen + 5) >= clientConfig->sendBufferSize, RyanMqttParamInvalidError, rlog_d);
@@ -527,12 +524,12 @@ RyanMqttError_e RyanMqttSetConfig(RyanMqttClient_t *client, RyanMqttClientConfig
     result = setConfigValue(&client->config.host, clientConfig->host);
     RyanMqttCheckCode(RyanMqttSuccessError == result, result, rlog_d, { goto __exit; });
 
-    result = setConfigValue(&client->config.port, clientConfig->port);
     RyanMqttCheckCode(RyanMqttSuccessError == result, result, rlog_d, { goto __exit; });
 
     result = setConfigValue(&client->config.taskName, clientConfig->taskName);
     RyanMqttCheckCode(RyanMqttSuccessError == result, result, rlog_d, { goto __exit; });
 
+    client->config.port = clientConfig->port;
     client->config.taskPrio = clientConfig->taskPrio;
     client->config.taskStack = clientConfig->taskStack;
     client->config.mqttVersion = clientConfig->mqttVersion;

+ 1 - 1
mqttclient/RyanMqttClient.h

@@ -67,13 +67,13 @@ extern "C"
         char *userName;                        // 用户名
         char *password;                        // 密码
         char *host;                            // mqtt服务器地址
-        char *port;                            // mqtt服务器端口
         char *taskName;                        // 线程名字
         char *recvBuffer;                      // mqtt接收缓冲区
         char *sendBuffer;                      // mqtt发送缓冲区
         uint8_t autoReconnectFlag : 1;         // 自动重连标志位
         uint8_t cleanSessionFlag : 1;          // 清除会话标志位
         uint8_t mqttVersion : 4;               // mqtt版本 3.1.1是4, 3.1是3
+        uint16_t port;                         // mqtt服务器端口
         uint16_t ackHandlerRepeatCountWarning; // ack重发超过这个数值后触发事件回调,根据实际硬件选择。典型值为 * ackTimeout ~= 300秒
         uint16_t taskPrio;                     // mqtt线程优先级
         uint16_t taskStack;                    // 线程栈大小

+ 0 - 2
mqttclient/RyanMqttThread.c

@@ -748,8 +748,6 @@ void RyanMqttThread(void *argument)
                 platformMemoryFree(client->config.password);
             if (NULL != client->config.host)
                 platformMemoryFree(client->config.host);
-            if (NULL != client->config.port)
-                platformMemoryFree(client->config.port);
             if (NULL != client->config.taskName)
                 platformMemoryFree(client->config.taskName);
 

+ 3 - 3
platform/linux/platformNetwork.c

@@ -16,7 +16,7 @@
  * @return RyanMqttError_e
  * 成功返回RyanMqttSuccessError, 失败返回错误信息
  */
-RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, const char *port)
+RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, uint16_t port)
 {
     RyanMqttError_e result = RyanMqttSuccessError;
 
@@ -41,7 +41,7 @@ RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platfo
     struct sockaddr_in server_addr;
     memset(&server_addr, 0, sizeof(server_addr));
     server_addr.sin_family = AF_INET;
-    server_addr.sin_port = htons(atoi(port)); // 指定端口号,这里使用HTTP默认端口80
+    server_addr.sin_port = htons(port); // 指定端口号,这里使用HTTP默认端口80
     server_addr.sin_addr = *((struct in_addr *)hostinfo.h_addr_list[0]);
 
     // 绑定套接字到主机地址和端口号
@@ -71,7 +71,7 @@ RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platfo
     // struct sockaddr_in server_addr;
     // memset(&server_addr, 0, sizeof(server_addr));
     // server_addr.sin_family = AF_INET;
-    // server_addr.sin_port = htons(atoi(port)); // 指定端口号,这里使用HTTP默认端口80
+    // server_addr.sin_port = htons(port); // 指定端口号,这里使用HTTP默认端口80
     // server_addr.sin_addr = *((struct in_addr *)hostinfo->h_addr_list[0]);
 
     // // 绑定套接字到主机地址和端口号

+ 1 - 1
platform/linux/platformNetwork.h

@@ -31,7 +31,7 @@ extern "C"
         int socket;
     } platformNetwork_t;
 
-    extern RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, const char *port);
+    extern RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, uint16_t port);
     extern RyanMqttError_e platformNetworkRecvAsync(void *userData, platformNetwork_t *platformNetwork, char *recvBuf, int recvLen, int timeout);
     extern RyanMqttError_e platformNetworkSendAsync(void *userData, platformNetwork_t *platformNetwork, char *sendBuf, int sendLen, int timeout);
     extern RyanMqttError_e platformNetworkClose(void *userData, platformNetwork_t *platformNetwork);

+ 3 - 3
platform/openLuat/platformNetwork.c

@@ -16,7 +16,7 @@
  * @return RyanMqttError_e
  * 成功返回RyanMqttSuccessError, 失败返回错误信息
  */
-RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, const char *port)
+RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, uint16_t port)
 {
     RyanMqttError_e result = RyanMqttSuccessError;
 
@@ -41,7 +41,7 @@ RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platfo
     struct sockaddr_in server_addr;
     memset(&server_addr, 0, sizeof(server_addr));
     server_addr.sin_family = AF_INET;
-    server_addr.sin_port = htons(atoi(port)); // 指定端口号,这里使用HTTP默认端口80
+    server_addr.sin_port = htons(port); // 指定端口号,这里使用HTTP默认端口80
     server_addr.sin_addr = *((struct in_addr *)hostinfo.h_addr_list[0]);
 
     // 绑定套接字到主机地址和端口号
@@ -71,7 +71,7 @@ RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platfo
     // struct sockaddr_in server_addr;
     // memset(&server_addr, 0, sizeof(server_addr));
     // server_addr.sin_family = AF_INET;
-    // server_addr.sin_port = htons(atoi(port)); // 指定端口号,这里使用HTTP默认端口80
+    // server_addr.sin_port = htons(port); // 指定端口号,这里使用HTTP默认端口80
     // server_addr.sin_addr = *((struct in_addr *)hostinfo->h_addr_list[0]);
 
     // // 绑定套接字到主机地址和端口号

+ 1 - 1
platform/openLuat/platformNetwork.h

@@ -26,7 +26,7 @@ extern "C"
         int socket;
     } platformNetwork_t;
 
-    extern RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, const char *port);
+    extern RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, uint16_t port);
     extern RyanMqttError_e platformNetworkRecvAsync(void *userData, platformNetwork_t *platformNetwork, char *recvBuf, int recvLen, int timeout);
     extern RyanMqttError_e platformNetworkSendAsync(void *userData, platformNetwork_t *platformNetwork, char *sendBuf, int sendLen, int timeout);
     extern RyanMqttError_e platformNetworkClose(void *userData, platformNetwork_t *platformNetwork);

+ 2 - 2
platform/quecOpen/platformNetwork.c

@@ -92,7 +92,7 @@ static ST_SOC_Callback callback_soc_func =
  * @return RyanMqttError_e
  * 成功返回RyanMqttSuccessError, 失败返回错误信息
  */
-RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, const char *port)
+RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, uint16_t port)
 {
     RyanMqttError_e result = RyanMqttSuccessError;
     u8 nw_state = 0;
@@ -157,7 +157,7 @@ RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platfo
     }
 
     // 等待连接成功
-    s32 connectResult = Ql_SOC_Connect(platformNetwork->socket, (u8 *)resolveIp, atoi(port));
+    s32 connectResult = Ql_SOC_Connect(platformNetwork->socket, (u8 *)resolveIp, port);
     if (SOC_SUCCESS_OK != connectResult && SOC_NONBLOCK != connectResult)
     {
         platformNetworkClose(userData, platformNetwork);

+ 1 - 1
platform/quecOpen/platformNetwork.h

@@ -25,7 +25,7 @@ extern "C"
         osEventFlagsId_t mqttNetEventHandle;
     } platformNetwork_t;
 
-    extern RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, const char *port);
+    extern RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, uint16_t port);
     extern RyanMqttError_e platformNetworkRecvAsync(void *userData, platformNetwork_t *platformNetwork, char *recvBuf, int recvLen, int timeout);
     extern RyanMqttError_e platformNetworkSendAsync(void *userData, platformNetwork_t *platformNetwork, char *sendBuf, int sendLen, int timeout);
     extern RyanMqttError_e platformNetworkClose(void *userData, platformNetwork_t *platformNetwork);

+ 3 - 3
platform/rtthread/platformNetwork.c

@@ -16,7 +16,7 @@
  * @return RyanMqttError_e
  * 成功返回RyanMqttSuccessError, 失败返回错误信息
  */
-RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, const char *port)
+RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, uint16_t port)
 {
     RyanMqttError_e result = RyanMqttSuccessError;
 
@@ -41,7 +41,7 @@ RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platfo
     // struct sockaddr_in server_addr;
     // memset(&server_addr, 0, sizeof(server_addr));
     // server_addr.sin_family = AF_INET;
-    // server_addr.sin_port = htons(atoi(port)); // 指定端口号,这里使用HTTP默认端口80
+    // server_addr.sin_port = htons(port); // 指定端口号,这里使用HTTP默认端口80
     // server_addr.sin_addr = *((struct in_addr *)hostinfo.h_addr_list[0]);
 
     // // 绑定套接字到主机地址和端口号
@@ -71,7 +71,7 @@ RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platfo
     struct sockaddr_in server_addr;
     memset(&server_addr, 0, sizeof(server_addr));
     server_addr.sin_family = AF_INET;
-    server_addr.sin_port = htons(atoi(port)); // 指定端口号,这里使用HTTP默认端口80
+    server_addr.sin_port = htons(port); // 指定端口号,这里使用HTTP默认端口80
     server_addr.sin_addr = *((struct in_addr *)hostinfo->h_addr_list[0]);
 
     // 绑定套接字到主机地址和端口号

+ 1 - 1
platform/rtthread/platformNetwork.h

@@ -24,7 +24,7 @@ extern "C"
         int socket;
     } platformNetwork_t;
 
-    extern RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, const char *port);
+    extern RyanMqttError_e platformNetworkConnect(void *userData, platformNetwork_t *platformNetwork, const char *host, uint16_t port);
     extern RyanMqttError_e platformNetworkRecvAsync(void *userData, platformNetwork_t *platformNetwork, char *recvBuf, int recvLen, int timeout);
     extern RyanMqttError_e platformNetworkSendAsync(void *userData, platformNetwork_t *platformNetwork, char *sendBuf, int sendLen, int timeout);
     extern RyanMqttError_e platformNetworkClose(void *userData, platformNetwork_t *platformNetwork);

+ 1 - 1
test/RyanMqttTestLinux.c

@@ -2,7 +2,7 @@
 #define RyanMqttClientId ("RyanMqttTest888") // 填写mqtt客户端id,要求唯一
 // #define RyanMqttHost ("broker.emqx.io")    // 填写你的mqtt服务器ip
 #define RyanMqttHost ("127.0.0.1") // 填写你的mqtt服务器ip
-#define RyanMqttPort ("1883")      // mqtt服务器端口
+#define RyanMqttPort (1883)      // mqtt服务器端口
 #define RyanMqttUserName (NULL)    // 填写你的用户名
 #define RyanMqttPassword (NULL)    // 填写你的密码