请教gsoap连接webservice超时设置问题

发布于 2022-10-15 09:16:26 字数 1955 浏览 31 评论 0

本帖最后由 freecr_cu 于 2011-04-18 19:15 编辑

我写一个程序,连接远程webservice服务,但是发现超时设置无效。
               int bw=time(NULL);
                        std::string strRes;
                        struct soap soap;
        
                        //set some timeout time
                        soap.connect_timeout=6;(这个好像linux下无效)
                        soap.send_timeout=4;
                        soap.recv_timeout=4;
               
                        soap_init(&soap);
                        int n_res = soap_call_ns1__XXXXX(&soap,NULL,NULL,strPath,strNamefile,strRes);
        
                        int ew=time(NULL);
                        int subt=ew-bw;
                        printf("%d\n ",subt);
无论我怎么调时间都没效果。遇到超时,要等好久才返回失败,真是奇怪,google了好久,没结果
请大家指导,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风启觞 2022-10-22 09:16:26

没有人遇到这样的问题吗?

提笔落墨 2022-10-22 09:16:26

gsoap的帮助上说linux下不支持非阻塞connect调用,connect timeout可能会不工作啊。

  1. Caution: Many Linux versions do not support non-blocking connect(). Therefore, setting soap.connect timeout
  2. for non-blocking soap call ns method calls may not work under Linux.

复制代码

凉城 2022-10-22 09:16:26

问题解决了,自己搞错了代码顺序,唉,太粗心了。
               
soap_init(&soap);
这句代码应该写在设置超时时间的前面,我的代码正好写在后面了,现在调整到前面,问题解决。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文