- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 Linux下的socket应用——TCP和UDP
1.前言TCP和UDP是两种最重要的传输协议,也是应用最广泛的传输协议,想要做服务器,就必须要学习和了解这两种传输协议,这里厚着脸皮从别人博主这里扒下来的知识点,先感谢一下这两个博主的分享。其实TCP和UDP拿出任何一个协议来讲都是需要长篇大论的,因为我们是由浅入深的学习,等碰到问题再去针对性的学习,所以这里只讲一下基本的概念,只要知道个大概就足够了。本文引用了下面链接中的内容。 TCP和UDP的区别TCP的三次握手和四次挥手(图片案例超详解)2....
2022-04-27 11:04:23
588
原创 Linux下的socket应用——基本概念
1.前言既然想写一个网络服务器,就必须要实现网络通信。网络通信的所有工作内容就是两台机器通过网络交换数据。两台机器相互之间通信需要用约定的方式,约定的流程,约定的协议进行通信,这个时候就不得不用到网络通信的工具——socket。2.什么是socketsocket就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行...
2022-04-27 09:27:15
502
原创 修改一些发现的问题
1.发现问题项目写了半个月了,一直没怎么自己去看。自己也清楚有非常多需要优化的问题,为了更快的发现问题,找了几个好朋友帮我找找,自己也再看了一下,确实是有不少问题,所以做了一部分的优化。2.修改问题①单例模式的错误 写这个代码的时候,有一些想当然了,好朋友指出了单例模式的构造函数没有设为私有的问题,这里在XInclude/common/def.h定义了一个宏,把所有的单例模式的应用都做了修改。/**************************************...
2022-04-24 16:47:19
656
原创 mysql异步调用的实现
1.实现原理现在我们的项目已经实现了异步类XProcess,数据库类XMylsq,开验证了std::function和std::bind实现回调的功能,现在我们只需要把他们组在一起就行。2.代码实现①这里先把我的代码分享一下c++服务器的异步数据库操作e②再次封装XMysql新增异步回调结果XMysqlAsynRes,新增回调操作信息XMysqlAsynData,实现异步操作虚函数virtual bool exec(),新增异步操作函数 bool exeAsynSql...
2022-04-22 11:45:29
1662
转载 用std::function和std::bind实现回调函数
1.参考资料std::function - C++中文 - API参考文档 (apiref.com)std::bind - C++中文 - API参考文档 (apiref.com)这两个类用到的头文件都是#include <functional>2.理解①std::function 可以用多种形式存储函数,包括直接保存,lambda表达式,bind表达式。②std::bind一个可以打包函数的工具,不同的c++标准用法不一样,我们这里用的是c++11所以,...
2022-04-22 10:33:06
1766
原创 c++异步操作——std::future
1.参考资料API Reference Document2.学习目的写一个可控的线程类,把一些时钟类,网络类,日志类,数据库类都继承于线程类,这样可以统一管理这些线程,也可以让这些类的操作不直接影响主流程。3.开始学习①类的作用类模板std::future提供访问异步操作结果的机制:(通过std::async、std::packaged_task或std::promise创建的)异步操作能提供一个std::future对象给该异...
2022-04-20 16:25:44
998
原创 简单的配置类
1.类的作用项目中,可能会需要用到各种各样的配置,比如数据库的host,root,pwd等配置。这些配置的值与代码本身没有关系,为了项目的灵活性和可移植性,可以在项目中写一个配置类2.配置文件config.ini的格式##代表注释后面的内容
2022-04-19 14:18:27
884
原创 Tars网络框架的学习——Tars框架的部署
1.部署tars框架这里有一套官方的指导文档,文档写的很好很全面,但是有几个地方需要修正一下:①cmake的版本应该安装3.15的,默认的2.8版本的不支持②mysql用资源包的方式安装会好一些,我用yum install安装没有成功。③在部署之前需要先完成cmake 和mysql的安装入门 - Tars 部署介绍(必看) - 《Tars 1.8 使用手册》 - 书栈网 · BookStack2.安装cmake3.15的流程下载cmake-3.15.6.tar.gz资源包#
2022-04-18 19:00:03
836
原创 linux下c++使用mysql的简单流程
1.linux下部署mysql这里引用一个老哥的博客,亲自试过,流程清晰,我就不做过多赘述了。https://www.cnblogs.com/jj123/p/15740668.html2.使用外网连接mysql这里奉献一下我的navicat安装包,大家可以去下载一下链接:https://pan.baidu.com/s/1G8x4pwgzGf1zI2xorRR9Rw提取码:s5pj3.测试是否可以连接到数据库如果无法连接,可以打开3306端口//打开防火墙system..
2022-04-17 03:47:31
2000
原创 linux环境下c++实现简单的protobuf调用
一.安装protobuf1.安装必要的工具yum install -y autoconfyum install -yautomakeyum install -ylibtoolyum install -ycurlyum install -ymakeyum install -yg++yum install -yunzip2.将protobuf压缩包下载...
2022-04-14 22:20:53
2188
2
c++_服务器_基本结构
2022-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人