Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用c++;? 我希望能够向我的网站发送我的C++应用程序正在运行的信号。 到目前为止,我所做的是使用libcurl与我网站上的一个PHP文件联系,并提供一些get参数。 这是C++代码: curl_global_init(CURL_GLOBAL_ALL); CURL * handle = curl_easy_init(); CURLcode result; std::string url, contents; std::cin >> url; curl_easy_setopt(handle, CURLOPT_URL, url); curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, &errorBuf[0]); curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writefunc); curl_easy_setopt(handle, CURLOPT_WRITEDATA, &contents); while(true) { time_t startOfLoop = time(0); //Ping page result = curl_easy_perform(handle); if(result == 0) std::cout << "[" << time(0) << "]: Pinged \"" << url << "\" ok!\r\n"; else { std::cout << "[" << time(0) << "]: Pinged \"" << url << "\" **ERROR: " << errorBuf << " [Error Code: " << result << "]\r\n"; } //Pause until 5 seconds has passed while(difftime(time(0), startOfLoop) < 5) {} } curl_easy_cleanup(handle); curl\u global\u init(curl\u global\u ALL); CURL*handle=CURL\u easy\u init(); 编码结果; std::字符串url,内容; std::cin>>url; curl_easy_setopt(句柄、CURLOPT_URL、URL); curl_easy_setopt(句柄、CURLOPT_ERRORBUFFER和errorBuf[0]); curl\u easy\u setopt(句柄、CURLOPT\u WRITEFUNCTION、writefunc); curl_easy_setopt(句柄、CURLOPT_WRITEDATA和内容); while(true) { time\t startOfLoop=时间(0); //平页 结果=卷曲,易于操作(手柄); 如果(结果==0) std::cout_C++_Http_Ping - Fatal编程技术网 >url; curl_easy_setopt(句柄、CURLOPT_URL、URL); curl_easy_setopt(句柄、CURLOPT_ERRORBUFFER和errorBuf[0]); curl\u easy\u setopt(句柄、CURLOPT\u WRITEFUNCTION、writefunc); curl_easy_setopt(句柄、CURLOPT_WRITEDATA和内容); while(true) { time\t startOfLoop=时间(0); //平页 结果=卷曲,易于操作(手柄); 如果(结果==0) std::cout,c++,http,ping,C++,Http,Ping" /> >url; curl_easy_setopt(句柄、CURLOPT_URL、URL); curl_easy_setopt(句柄、CURLOPT_ERRORBUFFER和errorBuf[0]); curl\u easy\u setopt(句柄、CURLOPT\u WRITEFUNCTION、writefunc); curl_easy_setopt(句柄、CURLOPT_WRITEDATA和内容); while(true) { time\t startOfLoop=时间(0); //平页 结果=卷曲,易于操作(手柄); 如果(结果==0) std::cout,c++,http,ping,C++,Http,Ping" />

如何使用c++;? 我希望能够向我的网站发送我的C++应用程序正在运行的信号。 到目前为止,我所做的是使用libcurl与我网站上的一个PHP文件联系,并提供一些get参数。 这是C++代码: curl_global_init(CURL_GLOBAL_ALL); CURL * handle = curl_easy_init(); CURLcode result; std::string url, contents; std::cin >> url; curl_easy_setopt(handle, CURLOPT_URL, url); curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, &errorBuf[0]); curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writefunc); curl_easy_setopt(handle, CURLOPT_WRITEDATA, &contents); while(true) { time_t startOfLoop = time(0); //Ping page result = curl_easy_perform(handle); if(result == 0) std::cout << "[" << time(0) << "]: Pinged \"" << url << "\" ok!\r\n"; else { std::cout << "[" << time(0) << "]: Pinged \"" << url << "\" **ERROR: " << errorBuf << " [Error Code: " << result << "]\r\n"; } //Pause until 5 seconds has passed while(difftime(time(0), startOfLoop) < 5) {} } curl_easy_cleanup(handle); curl\u global\u init(curl\u global\u ALL); CURL*handle=CURL\u easy\u init(); 编码结果; std::字符串url,内容; std::cin>>url; curl_easy_setopt(句柄、CURLOPT_URL、URL); curl_easy_setopt(句柄、CURLOPT_ERRORBUFFER和errorBuf[0]); curl\u easy\u setopt(句柄、CURLOPT\u WRITEFUNCTION、writefunc); curl_easy_setopt(句柄、CURLOPT_WRITEDATA和内容); while(true) { time\t startOfLoop=时间(0); //平页 结果=卷曲,易于操作(手柄); 如果(结果==0) std::cout

如何使用c++;? 我希望能够向我的网站发送我的C++应用程序正在运行的信号。 到目前为止,我所做的是使用libcurl与我网站上的一个PHP文件联系,并提供一些get参数。 这是C++代码: curl_global_init(CURL_GLOBAL_ALL); CURL * handle = curl_easy_init(); CURLcode result; std::string url, contents; std::cin >> url; curl_easy_setopt(handle, CURLOPT_URL, url); curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, &errorBuf[0]); curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writefunc); curl_easy_setopt(handle, CURLOPT_WRITEDATA, &contents); while(true) { time_t startOfLoop = time(0); //Ping page result = curl_easy_perform(handle); if(result == 0) std::cout << "[" << time(0) << "]: Pinged \"" << url << "\" ok!\r\n"; else { std::cout << "[" << time(0) << "]: Pinged \"" << url << "\" **ERROR: " << errorBuf << " [Error Code: " << result << "]\r\n"; } //Pause until 5 seconds has passed while(difftime(time(0), startOfLoop) < 5) {} } curl_easy_cleanup(handle); curl\u global\u init(curl\u global\u ALL); CURL*handle=CURL\u easy\u init(); 编码结果; std::字符串url,内容; std::cin>>url; curl_easy_setopt(句柄、CURLOPT_URL、URL); curl_easy_setopt(句柄、CURLOPT_ERRORBUFFER和errorBuf[0]); curl\u easy\u setopt(句柄、CURLOPT\u WRITEFUNCTION、writefunc); curl_easy_setopt(句柄、CURLOPT_WRITEDATA和内容); while(true) { time\t startOfLoop=时间(0); //平页 结果=卷曲,易于操作(手柄); 如果(结果==0) std::cout,c++,http,ping,C++,Http,Ping,你所描述的听起来像是服务器池中所有可用的TCP套接字都用完了(例如进入已建立或TIME\u WAIT状态)。一旦套接字关闭,它将进入TIME\u WAIT状态一段时间(通常为4分钟)。在此时间之后,它可以再次使用。因此,如果您的服务器配置了非常少的套接字(url; while(true) { 接收到的\u len=0; //在每次调用curl\u easy\u perform()之前设置选项 curl_easy_setopt(句柄,CURLOPT_URL,URL.c_str()); curl_e

你所描述的听起来像是服务器池中所有可用的TCP套接字都用完了(例如进入已建立或TIME\u WAIT状态)。一旦套接字关闭,它将进入TIME\u WAIT状态一段时间(通常为4分钟)。在此时间之后,它可以再次使用。因此,如果您的服务器配置了非常少的套接字(url; while(true) { 接收到的\u len=0; //在每次调用curl\u easy\u perform()之前设置选项 curl_easy_setopt(句柄,CURLOPT_URL,URL.c_str()); curl_easy_setopt(句柄、CURLOPT_ERRORBUFFER、errorBuf); curl\u easy\u setopt(句柄、CURLOPT\u WRITEFUNCTION、write\u func); curl_easy_setopt(句柄、CURLOPT_WRITEDATA、内容); //调用URL 如果((结果=curl\u easy\u perform(句柄))==0)
你能每5秒点击一次你的站点吗?你确定不是你的网络主机关闭了一个感知到的“攻击”吗?将标签从PHP更改为HTTP,因为你实际上正在ping HTTP资源,无论哪个软件运行它。
while(difftime(time(0),startOfLoop)<5){
被调用。避免这种情况,改用。@Marc:我希望没有网站会定期根据每分钟12个请求对攻击者进行分类。正常的web浏览负载更高,如果不定期的话。而合法的AJAX很可能会定期发出类似的请求。@BenVoigt:这是一个免费的web主机。它们可能更容易被攻击而不是一个你实际上在分岔的地方$$$
#include <iostream>
#include <string>
#include <thread>
#include <curl/curl.h>

using namespace std;

char errorBuf[CURL_ERROR_SIZE];
char contents[CURL_MAX_WRITE_SIZE];
std::string url;
size_t received_len = 0;

size_t write_func( char *ptr, size_t size, size_t nmemb, void *userdata)
{
    size_t len = size*nmemb;
    received_len += len;
    return len;
}

int main()
{
    curl_global_init(CURL_GLOBAL_ALL);
    CURL * handle = curl_easy_init();
    CURLcode result;

    cout << "Enter URL:";
    cin >> url;

    while(true)
    {
        received_len = 0;

        // Set options before each call to curl_easy_perform()
        curl_easy_setopt(handle, CURLOPT_URL, url.c_str());
        curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, errorBuf);
        curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_func);
        curl_easy_setopt(handle, CURLOPT_WRITEDATA, contents);

        // Invoke the URL
        if((result = curl_easy_perform(handle)) == 0)
            cout << "[" << time(0) << "]: \"" << url << "\" Received " << received_len << " bytes ok!\n";
        else
            std::cout << "[" << time(0) << "]: \"" << url << "\" **ERROR: " << errorBuf << " [Error Code: " << result << "]\n";

        // Pause until 5 seconds has passed
        std::this_thread::sleep_for(std::chrono::seconds(5));
    }

    // NOTE: This will never be called
    curl_easy_cleanup(handle);

    return 0;
}