4

我可以打电话来确定我的会话在 gsoap 客户端中是否仍然存在吗?

我看到检查会话是否仍然存在的唯一方法是在每次肥皂调用后检查所有 cookie 值是否匹配。自从设置了 tcp_keep_alive 标志以来,gsoap 似乎会意识到会话处于活动状态。gsoap 中是否有允许我在调用肥皂之前检查此内容的功能?是否有回调会通知我会话丢失?或者我应该为此目的制作一个虚拟肥皂方法?

4

1 回答 1

0

您可以使用 Genivia 插件来 Ckeck 并创建或更新localhost:8080在任何路径上都有效的会话:

soap->cookie_domain = "localhost:8080";
struct soap_session *session = soap_start_session(soap, NULL, NULL); 

要创建新的会话变量或修改该会话中的现有会话变量:

soap_set_session_var(soap, "session_var_name", "session_var_value", NULL, NULL);

要访问该会话变量的值:

const char *value = soap_get_session_var(soap, "session_var_name", NULL, NULL);

要删除该会话变量:

soap_clr_session_var(soap, "session_var_name", NULL, NULL); 
于 2018-07-16T08:25:06.787 回答