Программа на C-Как проверить, работает ли веб-сервис - PullRequest
0 голосов
/ 21 мая 2011

Я звоню в веб-службу, используя вызов сокета. Я хочу предотвратить зависание моего клиентского приложения до истечения времени ожидания вызова сокета, если служба не запущена. Приложение работает нормально, если служба работает. Создание socked и connect успешны, даже если служба не запущена. Кроме того, какую библиотеку заголовков нужно будет включить?

//Create the Socket
sockfd = socket(AF_INET, SOCK_STREAM, 0);

if (sockfd < 0)
{
    printf("errno %d: %s\n",errno,strerror(errno));
    set_output_data(in_out_address->error,
                    "E991",
                    ERROR_SIZE);
    return;
};
printf("errno %d: %s\n",errno,strerror(errno));
printf("sockfd %d: %s\n",sockfd,"socket call");

//Connect
errno=0;
connresult = connect(sockfd,(struct sockaddr *)&server_addr,
                                      sizeof(server_addr));
if (connresult < 0)
{
    printf("errno %d: %s\n",errno,strerror(errno));
    set_output_data(in_out_address->error,
                    "E992",
                    ERROR_SIZE);
    return;
}
printf("errno %d: %s\n",errno,strerror(errno));
printf("connresult %d: %s\n",connresult,"connection call");

// check if service is running before we send data

1 Ответ

0 голосов
/ 21 мая 2011

Веб-сервисы работают по HTTP.Вы должны отправить HTTP-запрос, прежде чем получить какой-либо ответ.Я бы посоветовал заглянуть в какую-нибудь библиотеку, например gsoap , вместо того, чтобы пытаться сделать это вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...