解决你的网路通信问题,大家看看这个值多少钱。
这个库可以让你实现以下的应用
1、安全的多线程。我参考的是《VisualBasic高级编程》
2、串行化、反串行化,即类实例-->字节流,字节流-->类实例,没有用到VB下的PropertyBag,自己写的实现,DLL前后不兼容也可以。
3、应用 .net 2.0 FrameWork Web 命名空间下的大部分类(我写的是VB6下的实现),让你很方便地在VB6下构建自己的WEB应用和CS架构下的通信应用。
4、自己的标准WebService,远程函数调用,让通信问题变的非常简单,会写函数,就可以写通信应用。
我目前是个自由职业工作者,收入少而且不稳定,我想把这个类库的大部分功能都免费开放,仅仅保留互联网通信的部分,我将收取一定的费用,各位看这个DLL,收多少钱合适呢?
这个库,旨在将BS的优秀通信模式搬进CS,初步实现了HTTP1.1的常用,如Get ,Head,Post,支持文件的上传下载,支持Redirect。可做简单的Web 服务器。出发点是为了在CS模式下,通信更方便。最关键的是,有了这些,程序员可以很方便的在CS模式下,按照HTTP协议去完成通信工作。参考的标准是.net 2.0 相关类及JavaServlet,写了Vb6下的实现。
如下:
HTTPContent
HTTPContentDetail
HTTPContentDetails
HTTPFileCollection
HTTPPostedFile
HTTPRequest
HTTPRequestClient
HTTPRequestHeader
HTTPResponse
HTTPResponseHeader
HTTPServer
HTTPServlet
IHTTPServerEventListener
KeysCollection
NameValueCollection
Uri
WebServiceInvoke
WebServiceInvokeArg
WebServiceInvokeArgs
SoapClient
等,其中HTTPRequestClient,完全兼容微软XMLHttpRequest,这个可是Ajax的核心呀,当然了,我改进了同步调用的弊端。
另外的亮点,是基于此的WebService,如,一台服务器负责各客户端的登陆,注销,IP地址位192.168.1.2,另一个服务器提供图片的业务,如图片的下载现实和上传更新等。IP地址为 192.168.1.3,两个地方分别建立和注册两个WebService,如下:
服务端搭建WebServcie很简单:
VB code
Call RegisterWebService(New Server,"Server")
'//192.168.1.2
Call RegisterWebService(New PicService,"PicService")
'//192.168.1.3
'//这样,WebService就被搭建了。
关于Webservice Server 客户端登陆,代码如下:
VB code
Dim oServer As Object
Dim intRet As Integer
Set oServer = NewSoapClient("http://192.168.1.2:80/", "Server")
intRet =oServer.Login(sUser,sPwd)
if intRet = 0 then
msgbox "登陆成功"
elseif intRet =1 then
msgbox "用户名不存在"
elseif intRet =2 then
msgbox "密码错误"
end if
'//仅示例用,具体逻辑可以自己定义。这样登陆的业务逻辑,就放到了
'//192.168.1.2 上执行,结果返回给客户端。根据同样的道理。您也可以写出
'//注销的代码。如果按照这样的逻辑,一个局域网聊天,或是文件共享的程序(飞鸽传书?),不用费多少代码,就可以实现了。
关于Webservice PicService 客户端,代码如下:
VB code
Dim oPicService As Object
Dim oPic As StdPicture
Dim bSucceed As Boolean
Set oPicService= NewSoapClient("http://192.168.1.3:80/", "PicService")
set oPic =oPicService.GetPic("MyName") '//检索并返回 MyName 的照片
Set Me.Picture=oPic
bSucceed = oPicService.UpLoad("MyName","C:\1.bmp")
'//将 "C:\1.bmp" 图片上传到服务器,并覆盖 MyName 位置,
'//并且返回操作的结果。
总结我的WebService有以下几个特点:
1、纯绿色,部署WebService的一端不需要部署IIS。
2、提供 WebService 服务的就是任意一个普通类,也可以是一个窗口,在服务端实例化后,调用RegisterWebService 注册即可。
3、参数和返回值支持大部分数据类型(除了结构,VB下的结构,是个很变态的东西。),对象支持实现了Persistable接口的类(ActiveX Dll 工程下,类的属性的最后一个),比如StdPicture,Recordset等等。
4、全程可捕捉错误,包括客户端捕捉服务器执行的错误,比如 调用oPicService.UpLoad,真正执行的是在服务端的 PicService类的UpLoad函数,如果 在执行UpLoad函数发生了错误,可以返回给客户端,并触发。
5、WebService 的调用,可以设这TimeOut,也可以异步调用,这个在VB6下调用过WebService的人知道,如果远程服务器连接不上,整个连接过程是进程挂起的。
6、服务器接收到WebService 调用,根据自己的业务负荷,可以分流给其他服务器。比如 192.168.1.3 上的图片服务比较忙碌,可以Redirect给其他机器。
7、完全为VB6设计,跟Vb6会结合更紧密。