需要远程调用的C/S,我该选用COM+还是WinSock控件?各有什么好处?
很惭愧,我对于VB6的网络编程不是很了解,难免露怯,希望高手凉解。
我的目的:分为VB6写的客户端和服务器端,客户端的程序访问服务器端的程序(类似执行一个DLL的方法)带入参数。服务器端的程序经过计算,向客户端返回数据(类似向客户端返回DLL的属性)。
开始想的是利用COM+的方法:服务器端程序用VB6的ActiveX DLL写成dll,注册成COM+应用程序(在“组件服务-计算机-我的电脑-COM+应用程序”中新建一个应用程序)
VB6写的客户端的程序远程访问我服务器上的COM+,执行DLL的方法(有参数),得到DLL的返回属性。
具体做法还没有研究,可能挺复杂的。比如该怎样设定服务器的IP地址,客户端通过什么方式访问远程COM+。
后来发现WinSock控件也可以建立C/S构造的程序,似乎和我的要求也很相似,而且还可以写出类似QQ聊天的程序。
我的理解是用VB6实现COM+,可以写成ActiveX DLL,在没有被使用时不占用资源,被实例化之后可以进入池子中,降低资源使用,不要求客户端打开某个端口。
而WinSock控件对于连接和端口就很苛刻,而且服务器端的是一个EXE。
我的理解对吗?
请问我该采用哪种方式更可靠?
哪里有全面一些的例程?
非常感谢!
[解决办法]
使用COM+可以忽略底层细节,而且比自己写winsock来得可靠。只是COM+通信可能受到防火墙的影响。适合在局域网里应用。