#include "soapH.h"
#include "ns.nsmap"
const char magicserver[] = "localhost:18081";
int main(int argc, char **argv)
{
struct soap *soap = soap_new();
double a, b, result;
if (argc > 3)
{
a = atoi(argv[1]);
b = atoi(argv[3]);
}
else
{
return -1;
}
switch(*argv[2])
{
case ‘+‘ :
if (soap_call_ns__add(soap, magicserver, "", a, b, result) == 0)
{
printf("%f+%f=%f\n", a, b, result);
}
else
{
soap_print_fault(soap, stderr);
}
break;
case ‘-‘ :
if (soap_call_ns__sub(soap, magicserver, "", a, b, result) == 0)
{
printf("%f-%f=%f", a, b, result);
}
else
{
soap_print_fault(soap, stderr);
}
break;
default :
printf("Please input valid symbol!\n");
break;
}
return 0;
}
#include "soapH.h"
#include "ns.nsmap"
int main(int argc, char **argv)
{
struct soap soap;
int m, s;
soap_init(&soap);
if (argc < 3)
{
soap_serve(&soap);
soap_destroy(&soap);
soap_end(&soap);
}
else
{
m = soap_bind(&soap, argv[1], atoi(argv[2]), 100);
if (m < 0)
{
exit(-1);
}
fprintf(stderr, "Socket connection successful %d\n", m);
for (int i = 1; ; i++)
{
s = soap_accept(&soap);
if (s < 0)
{
exit(-1);
}
fprintf(stderr, "%d: accepted %d IP=%d.%d.%d.%d ... ", i, s, (int)(soap.ip>>24)&0xFF, (int)(soap.ip>>16)&0xFF, (int)(soap.ip>>8)&0xFF, (int)soap.ip&0xFF);
soap_serve(&soap);
fprintf(stderr, "served\n");
soap_destroy(&soap);
soap_end(&soap);
}
}
return 0;
}
int ns__add(struct soap *soap, double a, double b, double &result)
{
result = a + b;
return SOAP_OK;
}
int ns__sub(struct soap *soap, double a, double b, double &result)
{
result = a - b;
return SOAP_OK;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。