基于Linux系统C语言自动创建SOAP计算器例子.docxVIP

基于Linux系统C语言自动创建SOAP计算器例子.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Linux系统C语言自动创建SOAP计算器例子

基于Linux系统C语言自动创建SOAP计算器例子一、前言这篇短文详细描述如何通过gSOAP工具,将自定义的功能头文件,自动生成SOAP服务代码,并描述如何通过这些自动代码生成功能服务端以及客户端。最后描述用户如何远程访问SOAP服务提供的功能。二、详细描述下文所用到的工具及源代码,请参考后面附录部分。步骤一:通过头文件生成SOAP关联代码$cd soap$./soapcpp2 -c add.h(stdsoap2.h、stdsoap2.cpp这两个文件是gSOAP提供的引擎)// 程序清单1:calc.h(SOAP功能自定义头文件)int ns2__add( int num1, int num2, int* r );int ns2__sub( int num1, int num2, int* r );int ns2__mul( int num1, int num2, int* r );int ns2__div( int num1, int num2, int* r );int ns2__mod( int num1, int num2, int* r );步骤二:编写SOAP服务端代码(calcserver.c)①主函数main() SOAP绑定端口:soap_bind()等待客户端连接:soap_accept()启动服务端服务:soap_serve()// 程序清单2:calcserver.c(SOAP服务端代码)#include soap/soapH.h#include soap/calc.nsmapint main(intargc, char **argv){int m, s;struct soap calc_soap;soap_init(calc_soap);soap_set_namespaces(calc_soap, namespaces);if (argc 2) {printf(usage: %s server_port\n, argv[0]);exit(1); } else { m = soap_bind(calc_soap, NULL, atoi(argv[1]), 100);if (m 0) {soap_print_fault(calc_soap, stderr);exit(-1); }fprintf(stderr, Socket connection successful: master socket = %d\n, m);for (;;) { s = soap_accept(calc_soap);if (s 0) {soap_print_fault(calc_soap, stderr);exit(-1); }fprintf(stderr, Socket connection successful: slave socket = %d\n, s);soap_serve(calc_soap);soap_end(calc_soap); } }return 0;}②各服务端接口实现及返回结果 ns2__add() ns2__sub() ns2__mul() ns2__div() ns2__mod()int ns2__add(struct soap *calc_soap, int num1, int num2, int *r){ *r = num1 + num2;return 0;}int ns2__sub(struct soap *calc_soap, int num1, int num2, int *r){ *r = num1 - num2;return 0;}int ns2__mul(struct soap *calc_soap, int num1, int num2, int *r){ *r = num1 * num2;return 0;}int ns2__div(struct soap *calc_soap, int num1, int num2, int *r){ *r = num1 / num2;return 0;}int ns2__mod(struct soap *calc_soap, int num1, int num2, int *r){ *r = num1 % num2;return 0;}步骤三:编写SOAP客户端代码(calcclient.c)客户端功能函数的实现,是通过调用SOAP接口,从而获取服务端服务的过程。 add():soap_call_ns2__add() sub():soap_call_ns2__sub()mul():soap_c

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档