ウェブサービスへの複数のクライアントへの同時アクセスを許可し、クライアントがリクエストを行い、データが利用可能になるまでブロックします(gsoapは通知をサポートしていないのでこの方法です)gsoapを使用した複数の同時クライアント
私のwebserviceクラスは、WITH_PURE_VIRTALでコンパイルされています。つまり、抽象クラスであるため、インスタンスを作成できません。したがって、私はwebserviceクラスを継承し、webservice要求とwebclient要求の管理を担当する私が構築したクラスを使用します。
しかし、クラスが既存のクライアントを処理しているときに、他のリクエストを受信できないようです。
私が読んで、あなたがこれに似たものでスレッドを起動する必要があります(here):私は行っていないコールを提供し、代わりに私のWebServiceクラスを呼び出すためにそのコードを変更すると、しかし
soap_serve((struct soap*)soap);
soap_destroy((struct soap*)soap); // dealloc C++ data
soap_end((struct soap*)soap); // dealloc data and clean up
soap_done((struct soap*)soap); // detach soap struct
free(soap);
何でも
Webサービスコールメソッド内で新しいスレッドを起動しようとしましたが、スレッドが起動するとすぐに、Webクライアントは空の応答を受け取ります。
誰にも提案はありますか?
これは正解です。私は抽象的なコピーメソッドを実装する必要があり、複数のクライアントを処理することができました。入力いただきありがとうございます! – Daniel