我和GSOAP有问题-它没有关闭插座。情况如下:应用程序工作正常,但当我调用“reload”函数时,它无法重新连接。这是一段代码:
soap_destroy( &m_soapObj );
soap_end( &m_soapObj );
soap_done(&m_soapObj);
sleep(1);
soap_init(&m_soapObj);
//m_ptrThis should be initialized already
assert( m_ptrThis != NULL );
m_soapObj.user = &m_ptrThis;
m_soapObj.accept_timeout = nAcceptTimeout;
m_ptrThreadPool->SetNumThreads( nNumThreads );
m_nSocketListener = soap_bind(&m_soapObj, NULL, nPort, nBacklog);
if (!soap_valid_socket(m_nSocketListener))
{
throw Exception(
"Cannot start listening on port: %d", nPort );
}
它会抛出……当我尝试使用无SOAP时,程序崩溃,因为我没有创建新的SOAP对象,只需再次初始化它。所以,肥皂应该管用。有趣的是,这确实是
不
每次都发生。
很奇怪……紧急情况:
提前多谢了
编辑
问题解决了。多亏了鸭子!