关于Delphi WebService是否可以使用Delphi的网络组件如(TIdTCPServer, TSocketServer)与客户端通信并传输文件?(在CGI部署的情况下!)

解决方案 »

  1.   

    使用应该是没问题, 不过没保障的, WebService本身没进程, 由别人调用, 随时都有被清出去的可能, 结合一下嘛, WebService 只指出下载的地方, 客户端到另外地方下载
      

  2.   

    暂时不管是否可以使用的问题,
    我现在做了一个WEBSERVICE,其中就用了TIDTCPSERVER组件和客户端通信并传输文件的,在WAD情况下是完全没有问题的啊,现在我把WEBSERVICE转为CGI的格式后,WEBSERVICE不能运行,一运行就报错(错误是:Exception EAccessViolation in module ZXJCWebSvr.exe at 00000000.
    Access violation at address 00000000. Read of address 00000000.
    )WINDOWS会跳出对话框说是发送错误的那种!还请教这里为什么?
      

  3.   

    哦, 一天没看,有回了哈
    是呵WAD debug 时 是个 exe, 有自已的完整生存期CGI 是那种暂态的 http server plugin, 执行完立即被杀死, 也可以是 exe, 但不一样的是, http server 只关心 stdout 上的内容, 你这里明显是一个 nil 指针, 还没被清出去就出了错, 我估计你是不是用了个 DataModule 什么的, 然后让 WAD Application 去静态建立了哈, 换 CGI App 后就没有静态建立的东东, 建立那个 indy 的 DataModule(其它也好), 应该在本单元的 initialization 部分初始化, finalization 处释放但 ISAPI/NSAPI 就会被 http server 放在内存中, 久一点, 估计这个可以用
      

  4.   

    果然如此,多谢指教!看来用WebService中使用TIdTCPServer 或是TSocketServer和客户端传文件不好啊。