请教一个VC调用JS的问题

请教一个问题,我用VC调用JS,
我用的是WEBSOCKET长连接,我第1次调用SendData,会收到1个返回data, 第2次用,却会收到2个返回(正确的应该只有1个),第3次收到3个返回。。。
这个HTML在浏览器中使用是正常的,而我用VC调用的时候就不正常了,这是为什么?

JS代码:
//接收服务器返回值
socket.on('message', function(data){alert(data);};
//发送数据
function SendData(str){
socket.send(str.toString());}

VC代码
bool execJavascript2(const CComPtr spDocument2,
wstring wsFuncName)
{
HRESULT hr = S_FALSE;
CComPtr pScript;
hr = spDocument2-> get_Script(&pScript);
if (FAILED(hr))
{
return false;
}

//(2)Get   Javascript   Function 
CComBSTR pCComBSTR(wsFuncName.c_str());
DISPID pDISPID;
hr = pScript->GetIDsOfNames(IID_NULL, &pCComBSTR, 1, LOCALE_SYSTEM_DEFAULT, &pDISPID);
if (FAILED(hr))
{
    return false;
}

//(3)Add   Parameters 
DISPPARAMS pDISPPARAMS;
memset(&pDISPPARAMS, 0, sizeof(pDISPPARAMS));

CComVariant var1 = L"execJavascript2 hyb";
int nParamCnt = 1;
VARIANT* pParams = new VARIANT[nParamCnt]; 

for (int i = 0 ; i < nParamCnt ; i++) 
{ 
    pParams[i] = var1;
} 

//Params   Count 
pDISPPARAMS.cArgs = nParamCnt;
//Params   Array 
pDISPPARAMS.rgvarg = pParams;
//Name   Args   Count 
pDISPPARAMS.cNamedArgs = 0;

//(4)Invoke   Javascript   Method
EXCEPINFO pEXCEPINFO;
memset(&pEXCEPINFO, 0, sizeof(pEXCEPINFO));

CComVariant pCComVariant;
//Initialize   to   invalid   arg 
UINT nintArgErr = (UINT)-1;

hr = pScript->Invoke(pDISPID, IID_NULL, 0, DISPATCH_METHOD, &pDISPPARAMS, &pCComVariant, &pEXCEPINFO, &nintArgErr); 

delete[] pDISPPARAMS.rgvarg;
pScript.Release();

if(FAILED(hr))
    return false;
return true;

}

没人问答吗,自己顶一个。。。

是不是调用js返回的结果没有清空之前的。自己加些log分析一下