小弟在开发系统的过程中遇到两个问题,问题如下:
1、如何连接到远程的机器,远程机器操作系统为windows
小弟调用了WNetAddConnection2这个API函数连接远程机器,用户名和密码都是正确的,可是小弟在调试的时候发现,有的时候可以连接的上,有的时候无法连接。我看了许多别人写的程序,感觉和我写的差不多,我不知道是不是还有什么需要注意的地方,或者还有其它的方法连接到远程机器上。下面将小弟的代码贴出来:
function TServer.Connect():boolean;
var
  NResource:TNetResource;
begin
  NResource.dwType:=RESOURCETYPE_ANY;
  NResource.lpLocalName:=Nil;
  NResource.lpProvider:=Nil;
  NResource.lpRemoteName:=Pchar(self.FServer.ServerName);
  if (WNetAddConnection2(NResource,pchar(Pass),pchar(UserName),CONNECT_INTERACTIVE)=NO_ERROR) then
    result:=true
  else
    result:=false;
end;
希望高手指点一下小弟.
2、小弟在开发的系统中要对多台服务器在(可能同时采集上百台)采集数据,这样就对系统的执行效率有一定的要求,小弟目前准备采用多线程进行开发,一台服务器一个线程,可是小弟又担心同时放上百个线程,对运行系统的机器的资源消耗太大,小弟想在此向各位高手请教一下,是否有更好的解决方案,能够比较满意的解决小弟的困境。