light-server-frame TCP/UDP服务程序框架

程序名称:light-server-frame

授权协议: LGPL

操作系统: Windows

开发语言: C/C++

light-server-frame 介绍

一个基于C++开发的简单易用的服务器程序编写框架。通过多线程异步方式处理从客户端发来的消息。

(还未完成,只有部分实现,并且希望能引入更好的内存分配机制)

使用templete,可自由为server提供socket连接方式、消息处理方式。

主要特点:

  • 可处理字符串类消息或二进制类消息,字符串类消息可指定尾字符,自动分割出完整的消息体
  • 消息处理可通过模板扩充
  • 通过线程池处理消息,处理消息的类从基类继承。

这是一个简单但完整的回显服务器代码示例:

class CEchoTask  
        :public CStrMsgTaskBase  
{  
    void DoAcceptSocket(int nSocket, string strClientIP)  
    {  
        printf("new client connected: %s\n", strClientIP);  
    }

    int ProcessMessage(int nSocket, string strClientIP, string strMsg)  
    {  
        printf("recv msg:%s\n", strMsg.c_str());  
        //echo  
        send(nSocket, (void *)strMsg.c_str(), strMsg.length());  
        return 0;  
    }  
     
};

int main(int argc, _TCHAR* argv[])  
{  
       //create server  
        CServer<CEchoTask, CStrMsgProcessor> *pEchoServer = new CServer<EchoTask,     CStrMsgProcessor>("0.0.0.0", 6000);

       //set string message tail  
       pEchoServer->SetMsgTail("\r\n", 2);

       //start server  
        pEchoServer->Start();

        //main loop  
        while(1)  
        {  
                //do something  
                Sleep(10000);  
        }  
          
        //stop server  
        pEchoServer->Stop();  
        //delete server  
        delete pEchoServer;  
        return 0;  
}

light-server-frame 官网

http://code.google.com/p/light-server-frame/

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。