C程序 – 如何检查Web服务是否正在运行

我正在使用套接字调用来调用Web服务。 我想阻止我的客户端应用程序“挂起”,直到套接字调用超时(如果服务未运行)。 如果服务正在运行,该应用程序正常工作。 即使服务未运行,create socked和connect也会成功。 那么,需要包含哪个头库?

//Create the Socket sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd 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 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 

Web服务通过HTTP工作。 您必须在收到任何回复之前发送HTTP请求。 我建议调查像gsoap这样的库,而不是试图手工完成。