This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的 TI 专家:
我无法使用 CC3235SF 的内部 HTTP 服务器。 如果我没有加载 IP_address/file.html 页面、则在运行服务器后、我已刷新了 www 部分下的 html 文件。 请大家说、我们是否有任何与此相关的示例代码。 BTW 这是我的内部 http 服务器实现函数:
void internal_HTTP_server (void)
{
mq_attr 属性;
int j;
//mqd_t linkLocalMQueue;
int32_t msgqRetVal;
uint32_t ulEvent;
//设置客户端和服务器的互斥量操作
HTTPObj = malloc (sizeof (pthread_mutex_t));
pthread_mutex_init (HTTPObj、(pthread_mutexattr_t*) NULL);
if (HTTPObj ==空)
{
while (1)
{
;
}
}
/*初始化 http 消息的邮箱*/
attr.mq_maxmsg = 10;/*队列大小*/
attr.mq_msgsize = sizeof (slNetAppRequest_t*);//邮件大小
HTTPServerMQueue = MQ_open ("linklocal msg q"、O_creat、0、&attr);
if (((int) HTTPServerMQueue)<= 0)
{
//无法创建消息队列输入故障
while (1)
{
;
}
}
while (1)
{
slNetAppRequest_t * netAppRequest;
msgqRetVal = MQ_Receive (HTTPServerMQueue、(char*)&netAppRequest、
sizeof (slNetAppRequest_t*),NULL);
if (msgqRetVal < 0)
{
//从消息队列接收数据失败
while (1)
{
;
}
}
if ((netAppRequest->Type == sl_NetApp_Request_HTTP_Get)
||(netAppRequest->Type =sl_NetApp_Request_HTTP_DELETE)
{
if (netAppRequest->Type = sl_NetApp_Request_HTTP_Get)
{
//("[Link local task] HTTP GET 请求\n\r");
}
其他
{
//("[Link local task] HTTP delete request\n\n");
}
httpGetHandler (netAppRequest);
}
否则(((netAppRequest->Type == sl_NetApp_Request_HTTP_POST)
||(netAppRequest->Type =sl_NetApp_Request_HTTP_Put)
{
if (netAppRequest->Type = sl_NetApp_Request_HTTP_POST)
{
//("[链接本地任务] HTTP POST 请求\n\r");
}
其他
{
//("[Link local task] HTTP PUT Request\n\r");
}
////(
//"[Link local task] data received、len =%d、flags=%x\n\r"、
// netAppRequest->requestData.PayloadLen,
// netAppRequest->requestData.Flags);
httpPostHandler (netAppRequest);
if (strstr (Server_data、CMP_SSID))
{
I=0;
对于(;I < 400;I++)
{
if (Server_data[i]='=')
{
i++;
count++;
如果(计数= 1)
{
memset (SSID、0、sizeof (SSID));
对于(j = 0;i < 400;i++、j++)
{
if (SERVER_DATA[i]='&')
{
SSID_Length = strlen (SSID);
中断;
}
SSID[j]= Server_data[i];
}
}
}
如果(计数== 3)
{
memset (security_key、0、sizeof (security_key));
对于(j = 0;i < 400;i++、j++)
{
if (SERVER_DATA[i]='\0')
{
memset (Server_data、0、400);
计数= 0;
I = 0;
key_Length = strlen (security_key);
memcpy (stWiFiSave.SSID、SSID、sizeof (SSID));
stWiFiSave.SSID_Length = SSID_Length;
memcpy (stWiFiSave.Key、security_key、sizeof (security_key));
stWiFiSave.Key_Length = Key_Length;
stWiFiSave.Sec_Type = SL_WLAN_SEC_TYPE_WPA_WPA2;
memcpy (&stWiFi.Sta_Profile、&stWiFiSave、sizeof (st_wifi 配置文件));
ulEvent = EN_WIFI_Configured;
xQueueSend (stWiFi.Queue、&ulEvent、0);
WIFI_SUCCESS = true;
//httpGetHandler (netAppRequest);
//sL_NetAppStop (sl_NET_APP_HTTP_SERVER_ID);
中断;
}
security_key[j]= Server_data[i];
}
}
}
}
if (strstr (Server_data、CMP_MQTT))
{
K=0;
对于(;k < 400;k++)
{
if (Server_data[k]='=')
{
K++;
count++;
如果(计数= 1)
{
memset (org_ID、0、sizeof (org_ID));
对于(j = 0;k < 400;k++、j++)
{
if (SERVER_DATA[k]='&')
中断;
org_ID[j]= Server_data[k];
}
}
如果(计数== 2)
{
memset (Dev_Type、0、sizeof (Dev_Type));
对于(j = 0;k < 400;k++、j++)
{
if (SERVER_DATA[k]='&')
中断;
DEV_Type[j]= Server_data[k];
}
}
如果(计数== 3)
{
memset (Dev_ID、0、sizeof (Dev_ID));
对于(j = 0;k < 400;k++、j++)
{
if (SERVER_DATA[k]='&')
中断;
DEV_ID[j]= Server_data[k];
}
}
如果(计数== 4)
{
memset (令牌、0、sizeof (令牌));
对于(j = 0;k < 400;k++、j++)
{
如果(SERVER_DATA[k]='\0')
{
memset (Server_data、0、400);
计数= 0;
K = 0;
/*memcpy (stMqttConfigSave.Org_ID,org_ID,sizeof(org_ID));
memcpy (stMqttConfigSave.Device_Type、Dev_Type、sizeof (Dev_Type));
memcpy (stMqttConfigSave.Device_ID、Dev_ID、sizeof (Dev_ID));
memcpy (stMqttConfigSave.Token、Token、sizeof (Token));*/
memcpy (&stMqttConfig、&stMqttConfigSave、sizeof (st_MQTT_CONFIG));
SAVE_MQTT_CONFIG ();
中断;
}
TOKEN[j]= Server_data[k];
}
}
}
}
}
if (netAppRequest->requestData.MetadataLen >0)
{
free(netAppRequest->requestData.pMetadata);
}
如果(netAppRequest->requestData.PayloadLen >0)
{
free(netAppRequest->requestData.pPayload);
}
免费(netAppRequest);
}
}
}
请指出我是否遗漏了一些东西。
尊敬的 TI 专家:
我已经解决了自己的问题。