易截截图软件、单文件、免安装、纯绿色、仅160KB

用C/gsoap实现WebService

转贴自:http://blog.sina.com.cn/s/blog_629562fe0100gs2l.html
稍作修改
 
gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码,集成了SSL功能。
下载地址:http://sourceforge.net/projects/gsoap2
官方网站:http://genivia.com/Products/gsoap/index.html
一、服务器端
1、首先编写 add.h文件:(我试过把这些注释全部删除也没有问题)
//gsoap ns service name: add
//gsoap ns service namespace: http://mail.263.net/add.wsdl
//gsoap ns service location: http://mail.263.net
//gsoap ns service executable: add.cgi
//gsoap ns service encoding: encoded
//gsoap ns schema namespace: urn:add
int ns__add( int num1, int num2, int* sum );

2、用gsoap/bin目录下的soapcpp2.exe程序,生成一些文件。
方法:用cmd执行soapcpp2.exe add.h。
soapcpp2.exe可以带参数执行,具体执行soapcpp2.exe -h查看。(示例:http://www.cppprog.com/2009/0723/138_2.html)
在这个目录下会自动生成许多将来有用的文件,如add.namap,soapH.h,soapC.cpp,soapClient.cpp,soapServer.cpp等文件。
3、新建一个win32控制台工程,加入wsock32.lib库,将刚才生成的那些文件添加到工程中。
然后编写addserver.cpp主程序:
#include "soapH.h" //原文是#include "addH.h"。
#include "add.nsmap"
int main(int argc, char **argv)
{
int m, s;
struct soap add_soap;
soap_init(&add_soap);
//soap_set_namespaces(&add_soap); //原文这个是打开的。
if (argc < 2)
{
printf("usage: %s <server_port> \n", argv[0]);
exit(1);
}
else
{
m = soap_bind(&add_soap, NULL, atoi(argv[1]), 100);
if (m < 0)
{
soap_print_fault(&add_soap, stderr);
exit(-1);
}
fprintf(stderr, "Socket connection successful: master socket = %d\n", m);
for ( ; ; )
{
s = soap_accept(&add_soap);
if (s < 0)
{
soap_print_fault(&add_soap, stderr);
exit(-1);
}
fprintf(stderr, "Socket connection successful: slave socket = %d\n", s);
soap_serve(&add_soap);//该句说明该server的服务 //原文是add_serve(&add_soap);
soap_end(&add_soap);
}
}
ret


相关文档:

关于C/C++ 表达式求值顺序 未定义


表达式的副作用
运算符的优先级与结合性规定了表达式中相邻两个运算符的运算次序,但对于双目
运算的操作数,C++没有规定他们的计算次序。例如,对于表达式:
exp1 + exp2;
先计算 exp1 还是 exp2?不同的编译器有不同的做法。
在数学上,对于双目运算符,不论先计算哪一个操作数,要求最终计算结果一样。
在 C ......

经典C/C++面试题(二)

char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha&nb ......

flashpolicyd c 版本

#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
#include <signal.h>
#include <unistd.h>
#include <string.h>
#include <getopt.h>
#define MAX_READFILE 24
#define MAX_INPUTFILE 10240
char *file ;
void time_out(){
syslog(LOG_INFO,"read inp ......

anic:比C快比Java安全比shell还简单的新语言

一位ID为ultimus的程序员开发了一种名为anic的新语言,近日引起业界关注。根据Google Code上该项目的简介,该语言的正式名称是ANI,anic是这种语言的参考实现。
ANI是一种实验性、高性能、静态安全、完全隐含支持并行、面向对象的通用数据流编程语言。
anic用GNU工具链写成,因此可移植性很好,可以运行于所有主流操作系 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号