Я решил свои вопросы. Я использую некоторый код AJAX для добавления знака времени и случайных чисел, чтобы избежать сбоя запроса. Вот код AJAX:
function GetValue(id)
{
return document.getElementById(id).value;
}
function SetValue(id,val)
{
document.getElementById(id).value=val;
return;
}
function GetTRValue() //Time-Random value,avoid messing up request
{
var rdm=Math.Random().toString(16);
var dt=new Date();
var time=dt.getTime().toString(10);
var tr=rdm+time;
return tr;
}
function EncodeRequest()
{
var req=new XMLHttpRequest();
req.onreadystatechange=function(){
if(req.readyState==4 && req.status==200)
{
SetValue('code',req.responseText);
}
else if(req.readyState==4 && req.status!=200)
{
alert('Server error:'+req.status);
}
}
req.open('POST','/base/base.asp',true);
req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
req.send('type=encode&code='+GetValue('base')+'&srcstr='+GetValue('str')+'&rdm='+GetTRValue());
return;
}
function DecodeRequest()
{
var qer=new XMLHttpRequest();
qer.onreadystatechange=function(){
if(qer.readyState==4 && qer.status==200)
{
SetValue('str',qer.responseText);
}
else if(qer.readyState==4 && qer.status!=200)
{
alert('Server error:'+qer.status);
}
}
qer.open('POST','/base/base.asp',true);
qer.setRequestHeader('Content-type','application/x-www-form-urlencoded');
qer.send('type=decode&code='+GetValue('base')+'&srcstr='+GetValue('code')+'&rdm='+GetTRValue());
return;
}
В моем ASP-файле я просто создаю папку с именем «Time-Random Value» и помещаю сюда файл запроса. Затем дождитесь ответов от программы C ++, прочитайте ееи удалите папку. В моей программе на C ++ я сканирую папки и записываю ответы в одну и ту же папку.