请问有谁知道windows系统共享内存映射方式通信时双方等待超时是什么原因

//让服务器处理请求
    if(!(::SetEvent(hExec)))
    {
        printf("发送请求失败!\n");
        bResult=false;
        return bResult;
    }
    //等待服务器处理完毕
    long wait=::WaitForSingleObject(hDone, 5000);

等待超时,就是说5秒内hDong没有信号。
服务器那边没发信号。需要核实服务器那边的程序。

共享内存映射本身,并没有超时的机制。
是你自己的代码中,设置了一些 Event。你要看看代码,为什么没有 Reset Event。

::WaitForSingleObject(hDone, 5000);
等待5秒,(5000毫秒),对方不响应,信号量不变,就超时了。

你自己wait函数中加了超时 就是说超时时间内对应的事件没有触发 看看是不是死锁了

谢谢各位大神了,虽然本来不报希望的,现在才来看到,但是真诚感谢你们的回答