有个 TCP 收线程,TCP收到消息后 把它存到 消息队列中,然后 给另一线程处理,请问 这个消息队列 windows有 API支持的吗? 不用自己写吧, 最后能给个大致流程或例子,

解决方案 »

  1.   

    在TCP线程用PostThreadMessage给处理线程发WM_USER的自定义消息,在处理线程用循环GetMessage获取并处理WM_USER的自定义消息就可以了。用到消息处理API的时候,WINDOWS系统会自己生成并维护一个消息链表。
      

  2.   

    现在socket自己都能处理;你这样没必要吧;
      

  3.   

    额,引进消息队列 是为了 TCP 接收收 跟 发送 能并行 处理,而不至于 产出阻塞,这是某个人 告诉我的,其实 我还未能完全理解 , 可以解释下吗?呵呵
      

  4.   

    socket有同步和异步套字节,同步是阻塞的,异步就是非阻塞的,你搜下就出来了。
      

  5.   

    MSG msg;
    PeekMessage(&msg, 0, 0, PM_NOREMOVE);
    while(GetMessage(&msg, NULL, 0, 0))
    {
        switch(msg.message)
        {
          ...
        }
    }
      

  6.   


    MSG msg;

    if(PeekMessage(&msg, NULL, NULL, NULL, PM_REMOVE))
    {
    switch(msg.message)
    {
    case FROM_PROCESS_MSG:
    break;
    } }
    我这样写跟你那个有具体区别吗