libuv访问mysql_GitHub - 591342534/libuv-service: 简易的跨平台通信框架

一、简介

项目的初衷是研究Node底层网络库libuv,发现基于libuv的资料较少,同时也为了能再系统地学习下C++及其应用,所以基于libuv编写了一个TCP后端服务以供分享,该项目作为一个简易的通用框架模型,希望其可以在跨平台应用编程实践中带来一些价值,具体功能如下:

1、基于libuv编写底层通信框架

2、基于pthread编写线程安全管理模块,如线程同步

3、封装mysql、protobuf等数据通信中间件

4、其他常用模块,如共享内存、事务、日志等

逐步完善中...

二、项目结构

|____messages # protobuf

| |____README.md

|____Makefile # Make文件

|____dependencies # 依赖库

| |____README.md

| |____*.*

|____README.md

|____scripts # 脚本 node客户端通信

| |____start_service.sh

| |____net_client.js

| |____README.md

| |____*.*

|____doc # 文档

| |____README.md

|____data # 临时文件、日志文件

| |____*.*

|____autogen.sh

|____src # 源文件

| |____database

| | |____MysqlEngine.h

| | |____MysqlEngine.cc

| |____routes.h

| |____test # 测试

| | |____*.*

| |____utils # 工具类,如时间戳等

| | |____timeutils.h

| | |____timeutils.cc

| | |____*.*

| |____io # libuv

| | |____response.h

| | |____response.cc

| | |____libuv.h

| | |____libuv.cc

| | |____*.*

| |____server.cc # 项目入口

| |____*.*

三、已完成

封装libuv通信层

mysql引擎

信号

进程通信:共享内存、信号量

线程管理

四、进行中

线程池

任务队列

mysql事务

封装protobuf

自动构建

单元测试

性能测试

五、运行

server

./server.o

libuv-server.png

client

node scripts/net_client.js

node-client.png

五、备注

c++11 -std=c++11

mac os 10.13.4

gcc 4.2.1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值