基于完成端口(Completion Port)模型的网络通信

    最近有个项目其中有一部分是CS架构,需要用到Socket网络编程,于是找来相关的书籍看了一下。
    Windows操作系统中集成了对很多套接字I/O模型的支持,特别从NT开始加入了完成端口(Completion Port)模型。如果应用程序需要同时管理大量的客户端套接字,采用这种模型可以达到最佳的系统性能,所以就想用完成端口来封装一个网络通信模块。
    网络通信模块应该作为一个基础模块来为CS间的交互而服务,那么作为该功能模块的Client而言,希望该功能模块提供了哪些方法呢?
    1、SetParameter(...);                      //port,backlog,max connections etc
    2、StartUp();  
    3、Stop();
    4、CallBackSomeConnected;            //CallBack when some connected;  
    5、Receive(...);                              //Post a receive request;
    6、CallBackDataReceived;               //CallBack when received data;
    7、Send(...);                                //Post a send request;
    8、CallBackDataSent;                    //CallBack when sent data
    9、CallBackSomeDisconnected;      //CallBack when some disconnected;
    10、ShutDown(Socket sock);        //Shut down the connection to which you want;
    只是一般性的应用的话,这些应该就够了吧。在VC的环境下把它封好,发布成DLL,在Win32或者.Net托管环境下都可以使用。

你可能感兴趣的:(网络通信)