![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
百万并发架构
C++跨平台网络架构
干锅土鸡
这个作者很懒,什么都没留下…
展开
-
C++新特性中的计时函数类的创建
#ifndef _CELLTimestamp_hpp_#define _CELLTimestamp_hpp_#include <chrono>using namespace std::chrono;class CELLTimestamp{public: CELLTimestamp() { update(); } ~CELLTimestamp() { } void update() { _begin = high_resolution_clock::now原创 2022-01-12 23:22:21 · 185 阅读 · 0 评论 -
客户端、服务端解决粘包问题
客户端接收到服务端的消息后,可能由于服务端发送过快,系统缓冲区满了,造成粘包,我们需要拆包处理消息数据。核心思想就是写一个二级缓冲区,将收到的数据拷贝至二级缓冲区中对消息一个一个处理!这只是解决粘包问题其中一个方法//缓冲区最小单元大小#define RECV_BUFF_SIZE 10240 //接受缓冲区 char _szRecv[RECV_BUFF_SIZE] = {}; //第二缓冲区 消息缓冲区 char _szMsgBuf[RECV_BUFF_SIZE * 10] = {}; //原创 2022-01-12 16:57:04 · 358 阅读 · 0 评论 -
2. 多线程客户端/服务端select模型
server#ifdef _WIN32#define WIN32_LEAN_AND_MEAN //这个宏尽量避免早期库和现代库的冲突#define _WINSOCK_DEPRECATED_NO_WARNINGS //避免inet_ntoa不让用,报错#include <windows.h>//早期#include <WinSock2.h>//现代#pragma comment(lib,"ws2_32.lib")//也可以在属性中添加库#else#include <原创 2021-11-08 00:20:05 · 1789 阅读 · 0 评论 -
1. 简易TCP客户端服务端(Windows Socket)
调用Windows下的接口必须先进行初始化,比如:WORD ver = MAKEWORD(2,2);WSADATA dat;WSAStartup(ver,&dat);//--------------------------------//这里面的代码和Linux差不多//--------------------------------WSACleanup();#define WIN32_LEAN_AND_MEAN//尽量避免、减少早期的库的冲突#include <wind原创 2021-10-18 22:17:19 · 855 阅读 · 0 评论