采用阻塞式线程模式

解决方案 »

  1.   

    如DELPHI一样
    MESSAGE msg;procedure accept(param) message msg;
    把一个信息指向一个处理
      

  2.   

    用MFC,window procedure会复杂一些,先看静态的,就是MFC预注册过的那些类,一句话,MFC替你打点好了window procedure的事。 
    最抽象的,MFC把window procedure封装了起来,程序员只需"programming by difference",你对哪个消息感兴趣,就建立哪个消息的响应函数。(当然还有虚函数override...)看看这里:http://www.vckbase.com/document/viewdoc/?id=942
      

  3.   

    我用了ON_MESSAGE(WM_ACCEPT, OnNetEvent); 
    提示错误如下:
    E:\复件 EWC\EWSOCK.cpp(15) : error C2447: missing function header (old-style formal list?)
    E:\复件 EWC\EWSOCK.cpp(15) : error C2143: syntax error : missing ';' before ','但我放了#include <afxmsg.h>
    提示错误如下:
    E:\复件 EWC\EWSOCK.cpp(14) : fatal error C1083: Cannot open include file: 'afxmsg.h': No such file or directory
    Error executing cl.exe.
    Creating browse info file...
    BSCMAKE: error BK1506 : cannot open file '.\Debug\EWSOCK.sbr': No such file or directory
    Error executing bscmake.exe.
    我实在不解.请帮忙
      

  4.   

    我现在正在仿http://dev.csdn.net/article/27/27621.shtm
    暂时信息不知道处理.:)初学VC
      

  5.   

    你仿照的那篇文档中,消息处理是靠
    WaitForMultipleObject这种方式的,有这个提示你再瞧瞧是不是能明白?呵呵
      

  6.   

    去看了一下,这里是用的WSAAsyncSelect模型最关键的是这句
    WSAAsyncSelect(serverSocket, m_hWnd, NETWORK_EVENT, 
    FD_ACCEPT | FD_CLOSE | FD_READ | FD_WRITE); 
    在socket上发生了FD_ACCEPT等网络事件以后,就会向m_hWnd窗口发送一个NETWORK_EVENT消息然后就是为窗口添加NETWORK_EVENT的消息响应函数还有,原文中
    ON_MESSAGE(NETWORK_EVENT, OnNetEvent); 这句后面是不应该有 分号 的,我想是作者的笔误:)程序里面除了socket相关的头文件就不需要再包含别的头文件了
      

  7.   

    至于如何来响应自定义消息,可以参考这篇文章http://www.csdn.net/develop/article/15/15980.shtm