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

码农软件 · 软件分类 · 网络工具包 · 2019-02-28 15:13:02

软件介绍

 

一个基于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;
}

本文地址:https://codercto.com/soft/d/325.html

敏捷软件开发

敏捷软件开发

Robert C.Martin,、Micah Martin / 邓辉、孙鸣 / 人民邮电出版社 / 2010-12 / 79.00元

要想成为一名优秀的软件开发人员,需要熟练应用编程语言和开发工具,更重要的是能够领悟优美代码背后的原则和前人总结的经验——这正是本书的主题。本书凝聚了世界级软件开发大师Robert C. Martin数十年软件开发和培训经验,Java版曾荣获计算机图书最高荣誉——Jolt大奖,是广受推崇的经典著作,自出版以来一直畅销不衰。 不要被书名误导了,本书不是那种以开发过程为主题的敏捷软件开发类图书。在......一起来看看 《敏捷软件开发》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具