作業の第一段階は、公共の数のサーバ構成の側面が完了した後、次のステップは、構築された環境の開発です。
準備は記事を参照してください。
0メッセージ伝送路
1. [スタート] XShell、オープンポートフォワーディング
あなたがへのサーバーのローカル操作に転送されるように要求することができるように、XShellの記事の構成に、サーバーへの接続を開始した後、ポートフォワーディングが動作する従ってください。
2. [スタート] HTTPサービスは、リクエストの社会的受容は、サーバ号から送られました
ローカルHTTPサービス、ポートへローカル受信ポートと同じ設定の最初のステップを開きます。サーバーの数の検証の時に国民をクリックして、公務員の数は、関連するパラメータの上にGETリクエストを送信します次のとおりです。
図1に示すように、署名マイクロチャネル暗号化された署名は、署名のコンバインは、タイムスタンプパラメータ開発者は、トークン要求パラメータ、ノンス・パラメータを満たしました。
図2に示すように、タイムスタンプタイムスタンプ
3、ノンス乱数
echostr検証4は、返される文字列を成功します。
図5は、公共の場でのトークンの数のトークン。
GETリクエストを受け取った後、GETリクエストからの4つのパラメータが解析します。完了するには、次の手順を計算した後。
フローチャートを確認します
以下のC ++コード例
void CHttpServer::Get_Chat(std::shared_ptr<HttpServer::Response> response, std::shared_ptr<HttpServer::Request> request) {
std::string strSignature = GetHttpParamValue(request, "signature");
std::string strTimeStamp = GetHttpParamValue(request, "timestamp");
std::string strNonce = GetHttpParamValue(request, "nonce");
std::string strEchoStr = GetHttpParamValue(request, "echostr");
{
std::vector<std::string> strArray;
strArray.push_back(strTimeStamp);
strArray.push_back(strNonce);
strArray.push_back(g_strTOKEN);
std::sort(strArray.begin(), strArray.end());
std::string strSHA1Src = strArray[0] + strArray[1] + strArray[2];
SHA1Util util;
util.update(strSHA1Src);
std::string strSha1 = util.final();
if (strSha1 == strSignature)
{
LOG_INFO(ms_loger, "My Base64:{} Org Base 64:{}", strSha1, strSignature);
}
else
{
LOG_ERR(ms_loger, "My Base64:{} Org Base 64:{}", strSha1, strSignature);
}
}
*response << "HTTP/1.1 200 OK\r\nContent-Length: " << strEchoStr.length() << "\r\n\r\n"
<< strEchoStr;
}
したがって、検証プロセスが完了しています。
3.テキストメッセージ送受信
URLとトランシーバの形で公開メッセージ番号は、さまざまな方法を要求します。
例えば、URLの検証ステップがあるhttps://www.dennisthink.com/WeChat、GETへのリクエストメソッド。その後、URLがメッセージ受信https://www.dennisthink.com/WeChat、リクエストがPOSTになりだけの方法を。
POSTメッセージから受信したXML形式、公式ドキュメントの各部分の意味特定している一般的なメッセージの受信に定義を。
メッセージを受信した後、公式文書によると、メッセージパッシブの返信返信メッセージを。
サブスクリプションの数について、既にこの機能をサポートし、ご質問があれば、私にメッセージ交換をお願いします。