- 博客(2358)
- 资源 (3)
- 收藏
- 关注
原创 protoc编译错误 File does not reside within any path specified using --proto_path (or -I)
在使用protoc.exe编译proto文件时,报File does not reside within any path specified using --proto_path (or -I)
2024-05-11 16:24:09 153
原创 ACE之ACE_Copy_Disabled
ACE_Copy_Disabled用于禁止类复制,如调用复制构造函数以及赋值构造函函数,如果希望类禁止复制,只需要私有继承该类。
2024-04-27 10:35:02 115
原创 asio之地址
address作为address_v4和address_v6的包装器fill:#333;stroke:1;fill:none;important;important;important;important;important;important;important;important;important;important;important;important;important;important;important;important;addressto_string:转换成点分十进制。
2024-04-22 23:07:01 603
原创 asio之套接字基础服务
在asio中,task_io_servcie对应linux下的事件循环,win_iocp_io_service对应window下的事件循环,在这个事件循环基础上,需要套接字的基础服务,其对socket作了一层封装。linux下对应的是reactive_socket_service_base,window下对应的是win_iocp_socket_service_base。
2024-04-13 13:03:31 450
原创 linux命令pidof
c:仅显示具有相同“root”目录的进程;进程名称:指定要查找的进程名称。-x:显示由脚本开启的进程;-o:指定不显示的进程ID。pidof(选项)(参数)-s:仅返回一个进程号;
2024-04-11 09:13:02 102
原创 asio之套接字选项
fill:#333;stroke:1;fill:none;important;important;important;important;important;important;important;important;important;important;important;important;important;important;important;important;
2024-04-06 14:16:15 959
原创 asio中socket的打开
fill:#333;stroke:1;fill:none;important;important;important;important;important;important;important;important;important;important;important;important;important;important;important;important;
2024-04-05 15:55:43 916
原创 非阻塞connect的正确使用方式
首先创建reactive_socket_connect_op操作,调用start_connect_op,在套接字为非阻塞,或者将套接字设置为非阻塞,调用connect发起连接,如果错误码为in_progress或者would_block,将reactive_socket_connect_op操作添加到事件循环中,在套接字变为可写时,会执行reactive_socket_connect_op_base基类的do_perform方法,其会调用socket_ops#non_blocking_connect方法。
2024-04-03 22:43:17 359
原创 ACE之socket
ACE_IPC_SAP:提供获取,设置句柄,io控制,以及控制ACE_SIGIO,ACE_SIGURG,ACE_NONBLOCK和ACE_CLOEXEC的开启关闭。ACE_SOCK_Acceptor ,ACE_SOCK_Connector 用于创建不同角色的ACE_SOCK_Stream。ACE_SOCK_Stream:在ACE_SOCK_IO基础上添加了发送,接收的字节数。ACE_SOCK :提供打开,关闭,获取,设置选项以及获取本端以及远端地址。ACE_SOCK_IO :提供发送,接收数据功能。
2024-03-31 21:17:12 980
原创 c# supersocket接收数据多时报ProtocolError
c++向c# supersocket发送大量数据时,服务端报ProtocolError。
2024-03-29 08:36:55 307
原创 asio之运行框架基础
asio框架的运行基础是task_io_service以及window平台下的win_iocp_io_service,即asio的事件循环。
2024-03-24 18:16:52 259
原创 brpc之ObjectPool
ObjectPool是用于管理对象池的,避免内存的频繁申请和释放,其实现也ResourcePool类似,可以参考。
2024-03-24 12:47:33 161
原创 QCoreApplication,QGuiApplication和QApplication之间关系
#mermaid-svg-5KcaCwjjHcNSTq0Z {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5KcaCwjjHcNSTq0Z .error-icon{fill:#552222;}#mermaid-svg-5KcaCwjjHcNSTq0Z .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-5KcaCwj
2024-03-17 18:47:22 134
原创 C++ Error C2280 尝试引用已删除的函数问题解决
在C++11的标准中,编译器会自动将默认拷贝构造函数删除,以防止出现浅拷贝等不确定行为,等同于Myclass(Myclass& str) = delete;
2024-03-13 17:21:14 469
原创 Qt之Gui的事件转换
将QEvdevMouseHandler的鼠标依赖与QEvdevMouseManager对应的槽函数建立联系,信号触发时,对应的槽函数会调用,执行QWindowSystemInterface的事件处理函数,将事件转化为QEvent。QGuiApplication的实现类QGuiApplicationPrivate方法processWindowSystemEvent处理window系统事件。flushWindowSystemEvents发送消息。
2024-03-03 20:20:08 401
原创 Qt线程之QThreadData
QThreadData是用于表示线程相关的数据,在QObjectPrivate,QThreadPrivate中有使用,并且信号槽机制中也会用到该数据。
2024-02-29 23:27:01 345
原创 网络编程中的问题总结
1、服务端重启后bind失败,因为TCP 套接字状态 TIME_WAIT 引起,该状态在套接字关闭后约保留 2 到 4 分钟。在 TIME_WAIT 状态退出之后,套接字被删除,该地址才能被重新绑定而不出问题。可以通过setsockopt()设置Socket描述符的选项SO_REUSEADDR为1,表示允许创建端口号相同但IP地址不同的多个Socket描述符。2、select使用的问题,在设置了读写套接字集合时,因为其既作为输入,又作为输出,在调用之前,需要再次设置读写监听套接字集合。
2024-02-26 22:40:11 197
转载 关于高效学习的阅读笔记
我们把学到的东西用自己的语言和理解重新组织并表达出来,本质上是对信息进行消化和再加工的过程,这个过程可能会有信息损失,但也可能会有新信息加入,本质上是信息重构的过程,我们积累的知识越多,在知识间进行联系和区辨的能力就越强,对知识进行总结和归纳也就越轻松.而想要提高总结归纳的能力,首先要多阅读,多积累素材,扩大自己的知识面,多和别人讨论,多思辨,从而见多识广.学习的开始阶段,可以不急于总结归纳,不急于下判断,做结论,而应该保留部分知识的不确定性,保持对知识的开放状态.这种感觉,对于想速成的人来说,很难体会.
2024-02-24 12:06:03 27
Ubuntu Linux实用学习教程.pdf
2009-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人