Я создал программу с использованием Code :: Blocks и скомпилировал ее с помощью компилятора GNU GCC. Когда я нажимаю кнопку очень быстро, я получаю очень плохую задержку, я не знаю, из-за ли это моего кода или из-за того, что я использую Случаи для каждой кнопки. Из моего плохого способа использования строковых потоков и строк для концентрации моих строк я все еще новичок в этом, но это работает, если кто-то знает, что это очень поможет. он
case WM_COMMAND:
switch(LOWORD(wParam))
{
/*
* TODO: Add more control ID's, when needed.
*/
case Create:
{
GetDlgItemText(hwndDlg, GuildN, Readuni, sizeof(Readuni));
GetDlgItemText(hwndDlg, PWN, Readpw, sizeof(Readpw));
GetDlgItemText(hwndDlg, Namen, Readnamec, sizeof(Readnamec));
GetDlgItemText(hwndDlg, souln, Readsoulc, sizeof(Readsoulc));
std::stringstream ss;
ss << "uniform=" << Readuni << "&pw=" << Readpw;
std::string sss = ss.str();
char frmdata[1000] ;
for(int i=0;i<1000;i++)
frmdata[i]=sss[i];
std::stringstream ssurl;
ssurl << "/cgi-bin/myCGI/sr-guilds.cgi/WOS/create/0/" << Readsoulc << "." << Readnamec << "/31321/00000000";
std::string url = ssurl.str();
//std::string url("/cgi-bin/myCGI/sr-guilds.cgi/WOS/create/0/00000001.Samsyn/31321/00000000");
hSession = InternetOpen("wosPost",INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
hConnect = InternetConnect(hSession, "207.57.118.86",INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
hRequest = HttpOpenRequest(hConnect, "POST", url.c_str(), NULL, NULL, NULL, 0, 1);
HttpSendRequest(hRequest, hdrs, strlen(hdrs), frmdata, strlen(frmdata));
InternetCloseHandle(hSession);
InternetCloseHandle(hConnect);
InternetCloseHandle(hRequest);
r
eturn TRUE;
}
case joinr:
{
GetDlgItemText(hwndDlg, guildj, Readguildj, sizeof(Readguildj));
GetDlgItemText(hwndDlg, namej, Readnamej, sizeof(Readnamej));
std::string fill = "00000";
int randomValue = rand() %899 + 100;
std::stringstream ss;
ss << "desc=Level 100 Emperor (Sword-User) age 80:23 (Evergreen) (PKer)&stat=Kills:4085, PKs:2503, Deaths:15, PKed:2830, Rating: 800&name=" << fill << randomValue << "." << Readnamej;
std::string sss = ss.str();
char frmdata[1500] ;
for(int i=0;i<1500;i++)
frmdata[i]=sss[i];
std::stringstream ssurl;
ssurl << "/cgi-bin/myCGI/sr-guilds.cgi/WOS/petition/" << Readguildj << "/" << Readnamej << "." << fill << randomValue << "/31321/00000000";
std::string url = ssurl.str();
//std::string url("/cgi-bin/myCGI/sr-guilds.cgi/WOS/create/0/00000001.Samsyn/31321/00000000");
hSession = InternetOpen("wosPost",INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
hConnect = InternetConnect(hSession, "207.57.118.86",INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
hRequest = HttpOpenRequest(hConnect, "POST", url.c_str(), NULL, NULL, NULL, 0, 1);
HttpSendRequest(hRequest, hdrs, strlen(hdrs), frmdata, strlen(frmdata));
InternetCloseHandle(hSession);
InternetCloseHandle(hConnect);
InternetCloseHandle(hRequest);
return TRUE;
}
Здесь в основном тот же код, закодированный с QT, который не лагает.
void MainWindow::on_Join2_clicked()
{
QString Fill = "00000";
int randomValue = rand() %899 + 100;
QString inttostr;
inttostr.append(QString("%1").arg(randomValue));
QString guildslot = ui->GuildJ->text();
QString NamexJ = ui->NameJ->text();
QNetworkRequest request(QUrl("http://synthetic-reality.com/cgi-bin/myCGI/sr-guilds.cgi/WOS/petition/" + guildslot + "/" + Fill + inttostr + "." + NamexJ + "/31321/00000000"));
request.setRawHeader("User-Agent", "wosPost");
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded; charset=UTF-8");
QByteArray content = "";
content += "desc=Level 100 Emperor (Sword-User) age 80:23 (Evergreen) (PKer)&";
content += "stat=Kills:4085, PKs:2503, Deaths:15, PKed:2830, Rating: 800&";
content += "name=" + Fill + inttostr + "." + NamexJ;
QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
networkManager->post(QNetworkRequest(request), content);
}