受信メッセージを保存する必要があるgSoapサーバーを作成しようとしています。私はそれをバッファに保存したい。ここでmyrecv function gSoap
//from gSoap Documentation
//SOURCE: https://www.genivia.com/doc/soapdoc2.html#tth_sEc19.7
int mysend(struct soap *soap, const char *s, size_t n)
{
struct buffer *h = (struct buffer*)soap->user; // get buffer through handle
int m = h->max, k = h->len + n;
// need to increase space?
if (m == 0)
m = 1024;
else
while (k >= m)
m *= 2;
if (m != h->max)
{
char *buf = malloc(m);
memcpy(buf, h->buf, h->len);
h->max = m;
if(h->buf)
free(h->buf);
h->buf = buf;
}
memcpy(h->buf + h->len, s, n);
h->len += n;
return SOAP_OK;
}
が、これはいくつかの変更で動作しますが、私は、サーバー側にこれと同じ考え方を取る場合、バッファおよびエンドへのストア...のgSOAPのドキュメントが送信メッセージを保存するために、クライアント側でそれをしない方法ですこの返信文でそれを...
size_t myrecv(struct soap *soap, char *s, size_t n){
//do similar to above example...
...
return default_frecv(soap,s,n);
}
これは、サーバーからクライアントに戻るメッセージのみを格納します。私はクライアントからサーバーに来るメッセージを保存する必要があります。私はrecvが私に着信メッセージを与えると思ったが、これはそうではない。何か案は?どんな助け、提案、またはアイデアも感謝しています!前もって感謝します! mysend例に
ソース:https://www.genivia.com/doc/soapdoc2.html#tth_sEc19.7