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://www.codercto.com/soft/d/325.html

垃圾收集

垃圾收集

琼斯 / 谢之易 / 人民邮电出版社 / 2004-4-1 / 45.00元

书围绕着动态内存自动回收的话题,介绍了垃圾收集机制,详细分析了各种算法和相关技术。 本书共12章。第1章首先介绍计算机存储器管理的演化和自动内存回收的需求,并引入了本书所使用的术语和记法。第2章介绍了3种“经典”的垃圾收集技术:引用计数(reference counting)、标记-清扫(mark-sweep)和节点复制(copying)。 随后的4章更详细地讨论了上述这些垃圾收集方式......一起来看看 《垃圾收集》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

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

在线 XML 格式化压缩工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试