light-server-frame TCP/UDP服务程序框架开源项目

我要开发同款
匿名用户2012年06月08日
39阅读
开发技术C/C++
所属分类程序开发、网络工具包
授权协议LGPL

作品详情

 

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

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

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

 

主要特点:

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

 

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

classCEchoTask    :publicCStrMsgTaskBase{  voidDoAcceptSocket(intnSocket,stringstrClientIP)  {    printf("newclientconnected:%s\n",strClientIP);  }  intProcessMessage(intnSocket,stringstrClientIP,stringstrMsg)  {    printf("recvmsg:%s\n",strMsg.c_str());    //echo    send(nSocket,(void*)strMsg.c_str(),strMsg.length());    return0;  }  };intmain(intargc,_TCHAR*argv[]){    //createserver    CServer<CEchoTask,CStrMsgProcessor>*pEchoServer=newCServer<EchoTask,  CStrMsgProcessor>("0.0.0.0",6000);    //setstringmessagetail    pEchoServer->SetMsgTail("\r\n",2);    //startserver    pEchoServer->Start();    //mainloop    while(1)    {        //dosomething        Sleep(10000);    }        //stopserver    pEchoServer->Stop();    //deleteserver    deletepEchoServer;    return0;}

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论