簡體   English   中英

Gsoap Http事件回調

[英]Gsoap Http event callback

我下載了gSoap並為wsdl生成了源代碼。 我可以連接到服務器並發送請求。

但是我不明白如何捕獲HTTP事件,例如發送的字節,字節的Recv。 我閱讀了此文檔http://www.cs.fsu.edu/~engelen/soapdoc2.html

但是我找不到我需要的東西。 我發現函數fsend 據我了解,當我們向服務器發送請求時,此功能正在執行。 我需要做這樣的事情嗎?

service.fsend = Custom;

我的回調在哪里Custom

我發現其他回調是ffiltersend。 據我了解,此功能正在發送請求時運行。 我用它。 但我不明白此方法中的最后一個參數是指向size_t的指針。 當我從該指針獲取值並除以2時,我得到了真實字節數。 為什么?

要獲取有關已發送,已接收的字節數的統計信息並將入站和出站消息記錄到文件系統中,請使用gSOAP軟件隨附的“日志記錄插件”。

首先,使用以下命令注冊插件:

#include "plugin/logging.h" // this file is in the gSOAP distro path
...
soap_register_plugin(soap, logging);

然后使用以下功能設置入站和出站消息的日志記錄目標:

soap_set_logging_inbound(struct soap*, FILE*);
soap_set_logging_outbound(struct soap*, FILE*);

其中作為第二個參數傳遞的文件描述符指向打開的文件,您可以在記錄之前和之后打開和關閉該文件。 使用NULL作為第二個參數來禁用日志記錄。

要獲取統計信息,即消息大小字節數,請使用:

soap_get_logging_stats(struct soap*, size_t *sent, size_t *recv);

第二個和第三個參數將通過此調用進行更新。

這就是全部。

如果您想使用自己的消息處理回調,那么一個不錯的起點是從plugin/logging.c文件中學習如何完成。 該文件很短。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM