Qt Tech. OpenSSL通信、HTTPS通信を行うプログラムが簡単じゃない!対処方法 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(本題)
(本題)
149行: 149行:
 
<syntaxhighlight2 lang="Cpp">
 
<syntaxhighlight2 lang="Cpp">
 
void CqApp::Init() //CqApp は QObject を継承したQtの機能的クラスの派生クラス(QSystemTrayIcon,QPlainTextEdit,とか
 
void CqApp::Init() //CqApp は QObject を継承したQtの機能的クラスの派生クラス(QSystemTrayIcon,QPlainTextEdit,とか
                        //QNetworkAccessMangeの機能を使う以上は引数thisポインタが必要なので
+
                      //QNetworkAccessMangeの機能を使う以上は引数thisポインタが必要なので
                        //QObjectから派生しているクラスである必要がある。
+
                      //QObjectから派生しているクラスである必要がある。
 
{
 
{
 
   //ここでのInitメンバ関数は初期化とかコンストラクタのような処理
 
   //ここでのInitメンバ関数は初期化とかコンストラクタのような処理
 +
 
   qNetworkAcessManager_Data = new QNetworkAccessManager(this);  
 
   qNetworkAcessManager_Data = new QNetworkAccessManager(this);  
  //QNetworkAccessManagerクラスのオブジェクトを生成します。左辺は自分で決めていいです。任意でどうぞ。
+
      //QNetworkAccessManagerクラスのオブジェクトを生成します。左辺は自分で決めていいです。任意でどうぞ。
  //QNetworkAccessManager* qNetworkAcessManager_Data;のようなメンバ変数としての宣言が事前に必要です。
+
      //QNetworkAccessManager* qNetworkAcessManager_Data;のようなメンバ変数としての宣言が事前に必要です。
 
 
  
161行: 162行:
 
             this, SLOT(readData(QNetworkReply*)));
 
             this, SLOT(readData(QNetworkReply*)));
  
    //こんな感じでQt独特のシグナルとスロットという考え方の関数で
+
      //こんな感じでQt独特のシグナルとスロットという考え方の関数で
    //qNetworkAcessManager_Dataのfinishedという通知(引数は内部的にQNetworkRply*型)を受け取ると
+
      //qNetworkAcessManager_Dataのfinishedという通知(引数は内部的にQNetworkRply*型)を受け取ると
    //このクラスのreadDataメンバ関数を(内部的にQNetworkRply*型を引数として)呼び出すことを宣言します。
+
      //このクラスのreadDataメンバ関数を(内部的にQNetworkRply*型を引数として)呼び出すことを宣言します。
    //イベント駆動のやり方です。
+
      //イベント駆動のやり方です。
  
 
     this::request();
 
     this::request();
174行: 175行:
 
 
 
   qNetworkAcessManager_Data->get( QNetworkRequest(QUrl(QStringLiteral("https://xxx.xx/data.xml"))));
 
   qNetworkAcessManager_Data->get( QNetworkRequest(QUrl(QStringLiteral("https://xxx.xx/data.xml"))));
  //メンバ変数を利用してget関数に指定したアドレスの内容を読み込みます。
+
      //メンバ変数を利用してget関数に指定したアドレスの内容を読み込みます。
  //通信が終わったらシグナルスロットの仕組みによりthis::readData関数が呼び出されます。
+
      //通信が終わったらシグナルスロットの仕組みによりthis::readData関数が呼び出されます。
 
 
 
}
 
}
 +
 
void CqApp::readData(QNetworkReply *qNetworkReply_Reply)
 
void CqApp::readData(QNetworkReply *qNetworkReply_Reply)
 
{
 
{
 
   if(qNetworkReply_Reply->error() != QNetworkReply::NoError) {
 
   if(qNetworkReply_Reply->error() != QNetworkReply::NoError) {
  // SSL通信エラーが発生した時の処理
+
      // SSL通信エラーが発生した時の処理
 
   }
 
   }
 
   else{
 
   else{
  // 通信成功時の処理
+
      // 通信成功時の処理
 
   }
 
   }
 
 

2021年3月5日 (金) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス