简单服务端和客户端的开发
来源:互联网 发布:什么是网络剧 编辑:程序博客网 时间:2024/06/06 05:33
我首先动手写的是服务端,关于服务端:
在VC里我建了一个login的项目,在这个项目里最初只包含三个文件,然后我自建了一个名为ifun.h的头文件,在这个文件里我自己编写了声明了四个函数头(int ns__Login(char* strUserID, char* strPwd, wchar_t*& iLoginInfo);int ns__Add_ID(char* strUserID, char* strPwd,wchar_t*& iLoginInfo);int ns__Delete_ID(char* strUserID, wchar_t*& iLoginInfo);int ns__Modify_ID(char* strUserID, char* strPwd, wchar_t*& iLoginInfo);),这四个函数就是我设计的要向客户端提供的服务函数,分别提供四种功能,然后我利用gsoap工具通过这个文件自动生成了一些与soap服务有关的文件,当然在这些文件里对于有些文件我做了一些修改(例如,在soapserver.h文件里我加入了int is_wsdl();int ser_send_wsdl();这两个函数,前一个用于判断是否请求wsdl,后一个用于发送wsdl文件,在soapserver.cpp文件里我借鉴着编写了上面声明的那四个函数的函数体),之后我又借鉴着陆续添加了一些文件到我的工程里面,这些文件有头文件:CharConvert.h、Database.h、MailSender.h、markup.h、publicFunction.h、stdsoap2.h以及源文件:Database.cpp、markup.cpp、publicFunction.cpp、stdsoap2.cpp。在这些文件里Database.h和Database.cpp用于提供数据库服务,最后我向stdafx.h文件里加入了一些宏定义、条件编译以及设计了主文件login.cpp,文件代码如下:
// login1.cpp : 定义控制台应用程序的入口点。
//
#include <vector>
#include "stdafx.h"
#include "Database.h"
#include "soapService.h"
#include "ns.nsmap"
#include "Markup.h"
#include "PublicFunction.h"
#include <stdio.h>
#include <string.h>
#include <iostream>
#include "MailSender.h"
#define PER_MINUTE (60000)
using namespace std;
int http_get(struct soap * soap);
CDataBase g_DataBase;
int _tmain(int argc, _TCHAR* argv[])
{
//连接数据库
if(!g_DataBase.OpenDatabase())
{
return 1;
}
Service calc;
calc.imode |= SOAP_C_UTFSTRING;
calc.omode |= SOAP_C_MBSTRING;
calc.fget = http_get;
if (!(argc < 2))
{
// serve as CGI application
calc.serve();
calc.destroy();
}
if (calc.run(9999))
{
calc.soap_stream_fault(std::cerr);
exit(-1);
}
return 0;
}
//能够远程读取wsdl文件
int http_get(struct soap * soap)
{
if (0 != strcmp(soap->path, "/ns.wsdl"))
{
return SOAP_GET_METHOD;
}
//读取硬盘wsdl文件
CString cstrWsdlName = CPublicFunction::GetWsdlName();
CString cstrWsdlPath = CPublicFunction::GetWsdlPath();
CString cstrWsdl = cstrWsdlPath + cstrWsdlName;
CMarkup xmlWsdl;
string strWsdl;
if(xmlWsdl.Load(cstrWsdl))
{
strWsdl = xmlWsdl.GetDoc();
cout << strWsdl.c_str() <<endl;
}
soap->http_content = "xml";
soap_response(soap, SOAP_FILE);
soap_send_raw(soap, strWsdl.c_str(), strWsdl.length());
soap_end_send(soap);
return SOAP_OK;
}
之后我便进行编译了,根据编译报错逐渐地向相应的文件中加入了一些文件包含,以及对于工程属性做了一些修改,之后便通过编译了,我的服务端便完成了。
最后我再来写我的客户端,对于客户端:
我在Flashbuilder里建了一个名为webserver的
- 简单服务端和客户端的开发
- 简单的Socket通信客户端和服务端
- 客户端和服务端通信的简单小案列
- 简单的Android服务端和客户端登录交互(服务端)
- 简单的Android服务端和客户端登录交互(客户端)
- 简单TCP服务端和客户端
- 简单UDP服务端和客户端
- netty 简单服务端和客户端
- 简单的客户端,服务端通信
- 一个简单的json服务端和客户端的例子
- 一个简单的socket客户端和服务端的例子
- Apache Mina - 简单的服务端和客户端的搭建
- MyEclipse创建简单的webService的服务端和客户端
- 一个简单的socket客户端和服务端的例子
- 一个简单的SOAP服务端和一个客户端
- 简单实用的java socket服务端和客户端代码
- 一个简单的UDP服务端和客户端示例
- 随手写了一个简单的socket服务端和客户端
- 国际化开发类的实例
- 个人感受
- 揭开正则表达式的神秘面纱
- S3C44b0x BIOS启动参考程序
- ARM MP3解码源代码
- 简单服务端和客户端的开发
- s3c2440 mmc和camera的linux驱动
- ARM 内存管理单元MMU详解
- 使用VS创建开发环境
- sina登陆https问题
- C++和ActionScript3 相互调用
- ubuntu 10.04 安装kscope
- vs2010 vs2008 vs2005 链接libcurl静态库
- C语言指针深入理解