POCO::NET::TCPServer框架学习以及使用

本文介绍了POCO C++ Libraries中的POCO::NET::TCPServer框架,包括预备知识如POCO库、长连接和短连接、工厂模式,以及框架的具体使用,如ProtoBuffer协议文件、CustomTCPServer类、MyActivity类、worker类和TCPServerConnection的工作原理。通过示例代码展示了如何在Linux环境下实现TCP客户端和服务端的通信。
摘要由CSDN通过智能技术生成

POCO::NET::TCPServer框架学习以及使用

原文Github:

一、预备知识:

1、POCO

​ POCO C++ Libraries是一套第三方库,去年的这个时候才进入公司实习,前辈让我接触这个库很难受官网https://pocoproject.org/ 全是英文,GitHub:https://github.com/pocoproject/poco库方法查找:https://pocoproject.org/docs/99150-GMakeBuildNotes.html

​ 开始做数据库,使用的是POCO::DATA::SQLite(当时设备使用的数据库去存储的比较少,最多把人脸特征下载到设备做个比对的小库,相对来说,用HTTP去Post引擎的大库去找和相机的小库去找小库更加有效率,但是由于相机的小库没有这么大,最多几k,所以场景适用在人数比较少而效率要求特别高的情况下)
修改一下,SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。

​ 前辈让我啃它的NET::TCP贼难受,网上讲解的只有两三篇,官网全是英文,有一些例子关于NET库里面的Http和Mail等等https://github.com/pocoproject/poco/tree/master/Net/samples

​ 当时是在虚拟的Linux下做的一套TCP客户端和服务端的通信,当时参考了两篇大佬的blog(非常经典):

http://www.cppblog.com/richbirdandy/archive/2010/09/10/123994.html

https://www.cnblogs.com/bleachli/p/4352959.html

2、长连接和短连接

在这里插入图片描述

3、设计模式:工厂模式

二、POCO::NET::TCPServer框架使用

1、ProtoBuffer 协议文件

协议

message People 
{  
  required string head = 1; 
  required string name = 2;  
  required string id = 3;  
  required string email = 4;  
}  

2、分析

具体文件

2.1 先看Main.cpp
int main(int argc, char *argv[])
{
   
    return CustomTCPServer().run(argc, argv);;
}
2.2 CustomTCPServer类
#include "activity.h" //继承了runnable 可以理解成开线程 其中的run方法就是线程的入口
  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值