请大侠们帮忙啊有关MFC用gsoap 调用PHP的webservice,该如何处理
请大侠们帮忙啊~有关MFC用gsoap 调用PHP的webservice
具体操作就是 在一个线程中用gsoap调用webservice来验证账号密码是否正确,现在就有一个问题了,有用户在使用过成功会时不时出现调用接口没有返回值的情况,导致我线程卡死,无法正常安全结束,所以为了避免这种情况,我在外部设置了定时器,30s后线程还没结束的话,就直接 TerminateThread(m_loginThread->m_hThread,0)强制结束,但是很不安全,有时会Runtime Error
web端会有个登陆日志,日志显示数据查询成功了,所以可以断定不是查询数据库有问题
还请大家帮帮忙,分析下问题出在那里。。。。实在让我头疼啊。。
------解决方案--------------------
你可以查查webservice中是怎么写的!
------解决方案--------------------
那就是gsoap调用webservice的问题了,这个不太了解
------解决方案--------------------
webService checklogin()接口设计有问题?出错,成功应该都会有返回
------解决方案--------------------
是否是多个线程同时使用同一个对象服务?如果是,请一个线程使用一个服务对象。因为多个线程可能会竞争资源,造成死锁。
具体操作就是 在一个线程中用gsoap调用webservice来验证账号密码是否正确,现在就有一个问题了,有用户在使用过成功会时不时出现调用接口没有返回值的情况,导致我线程卡死,无法正常安全结束,所以为了避免这种情况,我在外部设置了定时器,30s后线程还没结束的话,就直接 TerminateThread(m_loginThread->m_hThread,0)强制结束,但是很不安全,有时会Runtime Error
- C/C++ code
int result=wsPHP.checklogin(.....) ///卡在这里result一直得不到值 if(result== SOAP_OK) { ......//操作成功,进行后面操作 }
web端会有个登陆日志,日志显示数据查询成功了,所以可以断定不是查询数据库有问题
还请大家帮帮忙,分析下问题出在那里。。。。实在让我头疼啊。。
------解决方案--------------------
你可以查查webservice中是怎么写的!
------解决方案--------------------
那就是gsoap调用webservice的问题了,这个不太了解
------解决方案--------------------
webService checklogin()接口设计有问题?出错,成功应该都会有返回
------解决方案--------------------
是否是多个线程同时使用同一个对象服务?如果是,请一个线程使用一个服务对象。因为多个线程可能会竞争资源,造成死锁。