自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 关于socket api的原子操作性和线程安全性的探究和实验测试(多线程同时send,write)

本文转载自:https://www.cnblogs.com/whuwzp/p/thread-safety-socket-send.html1. 概览1.1 起因自己写的项目里,为了保证连接不中断,我起一个线程专门发送心跳包保持连接,那这个线程在send发送数据时,可能会与主线程中的send冲突,因此我就想探讨一下socket api是否具有线程安全性。网上很多说法,但多是推测,于是我结合man pages、StackOverflow和大佬们的博客等资料,做了简单的实验测试一下,用事实说话。1.2 探

2020-05-22 22:51:17 2829 2

原创 C++ error: non-const lvalue reference to type

今晚看交流群的消息,看到大家在讨论一个有意思的问题:int array[5] = { 0 };int* const& p = array; //编译通过const int* &p = array; //编译失败//报错: error: non-const lvalue reference to type 'const int *' //cannot bind to a value of unrelated type 'int [5]'。//对类型“const int*”的非co

2020-05-16 23:45:38 7597

原创 Linux服务器开发要注意的SIGPIPE信号

SIGPIPE信号出现的原因:一个socket关闭后,仍然对它write两次,那么内核就会发送SIGPIPE信号给当前进程,而默认处理动作是终止进程。解决方法:用sigaction进行SIGPIPE信号的捕捉。写服务器程序,一定要对该信号进行处理。...

2020-05-16 17:21:35 310

转载 C++两个类互相引用的解决方法

问题描述:c++在使用过程中遇到两个类需要相互包含引用的问题解决办法:两个类的头文件之中,选一个包含另一个类的头文件,另一个头文件中采用class ;的申明形式,在实现文件中(.cpp)中包含头文件,如下所示:class A.h#include "B.h" class A{ int m; B b;}class B.hclass A; class B{int n; A *a;}B.cpp//在B.cpp中的文件包含A.h,否则不能调用成员a的任何内容#incl

2020-05-12 15:05:14 621

原创 Windows下Qt使用htons,htonl,ntohs,ntohl

pro文件加上:LIBS += -lws2_32源代码包含头文件:#include <WinSock2.h>

2020-05-11 11:57:08 4230

转载 EPOLLOUT分析

EPOLLOUT使用场景1: 对客户端socket只使用EPOLLIN(读)监听,不监听EPOLLOUT(写),写操作一般使用socket的send操作2:客户端的socket初始化为EPOLLIN(读)监听,有数据需要发送时,对客户端的socket修改为EPOLLOUT(写)操作,这时EPOLL机制会回调发送数据的函数,发送完数据之后,再将客户端的socket修改为EPOLL(读)监听3:对客户端socket使用EPOLLIN 和 EPOLLOUT两种操作,这样每一轮epoll_wait循环都会回调

2020-05-10 15:36:36 322

原创 CMake时指定编译器

SET(CMAKE_C_COMPILER “编译器绝对路径”)SET(CMAKE_CXX_COMPILER “编译器绝对路径”)

2020-05-08 21:32:31 3658

转载 CMake中链接库的顺序问题

原文链接:https://blog.csdn.net/lifemap/article/details/7586363cmake中链接库的顺序是a依赖b,那么b放在a的后面。例如进程test依赖a库,b库, a库又依赖b 库,那么顺序如下:TARGET_LINK_LIBRARIES(test a b)...

2020-05-08 16:37:30 31210

转载 Qt pro转CMake工程例子

原文链接:https://www.yuque.com/pikachuhy/cmake/cil1piQt pro配置去掉一些注释后QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = QtDemoTEMPLATE = appDEFINES += QT_DEPRECATED_WARNINGS...

2020-05-04 23:15:23 6174

原创 CMake通过正则表达式获取当前文件夹名称

string(REGEX REPLACE ".*/\(.*\)" "\\1" CURDIR ${CMAKE_CURRENT_SOURCE_DIR})

2020-05-04 23:00:16 2377

原创 vscode常用插件

1.汉化:Chinese,重启2.各种漂亮图标:vscode-icons3.左下角显示文件大小:filesize4.成对彩色括号:Bracket Pair Colorizer5.自动感知目录下的文件:Path Autocomplete6.自动纠正Python缩进:Python indent...

2020-05-04 21:46:54 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除