В рамках проекта мне нужно реализовать libcurl на пользовательском устройстве WindowsCE, которое затем ведет переговоры с сервером по проводной локальной сети и GET, POST и DELETEs данным (Используется язык программирования, который я использую: C). Это до тех пор, пока я продвинулся:libcurl на Windows CE - curl_easy_perform (...) не возвращается
Я нашел пару учебников для повторной реализации библиотеки для моего устройства CE. (http://stasyan.wordpress.com/2009/12/08/libcurl-for-windows-mobile-and-windows-ce/ и http://rxwen.blogspot.com/2012/05/port-libcurl-to-wince.html сделать действительно хорошую работу.)
я смог построить DLL и статические библиотеки Libcurl, который я тогда связан с моим Visual Studio 2005 приложения.
Я подключил свое пользовательское устройство CE и сервер к коммутатору. Я могу выполнить ping-сервер с устройства CE и наоборот, поэтому я знаю, что они могут отправлять и получать данные друг к другу.
На моем сервере (Linux) используется веб-сервер lighttpd, который отлично работает, когда я запрашиваю URL-адрес (показано в коде ниже) с моего ПК с ОС Windows, который также подключен к коммутатору N/W.
Это код, который я использовал для моего тестового приложения:
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
printf("STARTING APP...\n");
CURL *curl;
CURLcode res;
printf("curl = curl_easy_init();\n");
curl = curl_easy_init();
if(curl)
{
printf("Enabling followlocation...\n");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1l);
printf("Setting Verbose...\n");
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
printf("Setting Connect time out...\n");
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 5);
printf("Setting Server time out...\n");
curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS , 5000);
printf("Setting URL...\n");
curl_easy_setopt(curl, CURLOPT_URL, "http://165.26.79.10:8080");
/* Perform the request, res will get the return code */
printf("Perform(curl)...;\n");
res = curl_easy_perform(curl);
/* Check for errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
else
printf("\nGET sucessful.\n");
/* always cleanup */
curl_easy_cleanup(curl);
}
getchar();
return 0;
}
getchar();
return 0;
}
Моя проблема заключается в том, что приложение никогда не возвращается. Он не продвигается даже после curl_easy_perform (curl).
Это выход я получаю (Google Drive ссылка): [http://goo.gl/IKgiqW]
Что я мог делать неправильно ??
Вы должны отправить решение в ответ, а затем принять его, когда наступит время. –
Выполнено. Спасибо! – ash