我使用套接字调用来调用Web服务。我想阻止我的客户端应用程序“挂起”,直到套接字调用超时(如果服务未运行)。如果服务正在运行,该应用程序正常工作。即使服务未运行,create 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