- 博客(2351)
- 资源 (3)
- 收藏
- 关注
原创 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 443
原创 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 445
原创 linux命令pidof
c:仅显示具有相同“root”目录的进程;进程名称:指定要查找的进程名称。-x:显示由脚本开启的进程;-o:指定不显示的进程ID。pidof(选项)(参数)-s:仅返回一个进程号;
2024-04-11 09:13:02 98
原创 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 952
原创 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 910
原创 非阻塞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 351
原创 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 960
原创 c# supersocket接收数据多时报ProtocolError
c++向c# supersocket发送大量数据时,服务端报ProtocolError。
2024-03-29 08:36:55 286
原创 asio之运行框架基础
asio框架的运行基础是task_io_service以及window平台下的win_iocp_io_service,即asio的事件循环。
2024-03-24 18:16:52 251
原创 brpc之ObjectPool
ObjectPool是用于管理对象池的,避免内存的频繁申请和释放,其实现也ResourcePool类似,可以参考。
2024-03-24 12:47:33 156
原创 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 126
原创 C++ Error C2280 尝试引用已删除的函数问题解决
在C++11的标准中,编译器会自动将默认拷贝构造函数删除,以防止出现浅拷贝等不确定行为,等同于Myclass(Myclass& str) = delete;
2024-03-13 17:21:14 361
原创 Qt之Gui的事件转换
将QEvdevMouseHandler的鼠标依赖与QEvdevMouseManager对应的槽函数建立联系,信号触发时,对应的槽函数会调用,执行QWindowSystemInterface的事件处理函数,将事件转化为QEvent。QGuiApplication的实现类QGuiApplicationPrivate方法processWindowSystemEvent处理window系统事件。flushWindowSystemEvents发送消息。
2024-03-03 20:20:08 396
原创 Qt线程之QThreadData
QThreadData是用于表示线程相关的数据,在QObjectPrivate,QThreadPrivate中有使用,并且信号槽机制中也会用到该数据。
2024-02-29 23:27:01 327
原创 网络编程中的问题总结
1、服务端重启后bind失败,因为TCP 套接字状态 TIME_WAIT 引起,该状态在套接字关闭后约保留 2 到 4 分钟。在 TIME_WAIT 状态退出之后,套接字被删除,该地址才能被重新绑定而不出问题。可以通过setsockopt()设置Socket描述符的选项SO_REUSEADDR为1,表示允许创建端口号相同但IP地址不同的多个Socket描述符。2、select使用的问题,在设置了读写套接字集合时,因为其既作为输入,又作为输出,在调用之前,需要再次设置读写监听套接字集合。
2024-02-26 22:40:11 194
转载 关于高效学习的阅读笔记
我们把学到的东西用自己的语言和理解重新组织并表达出来,本质上是对信息进行消化和再加工的过程,这个过程可能会有信息损失,但也可能会有新信息加入,本质上是信息重构的过程,我们积累的知识越多,在知识间进行联系和区辨的能力就越强,对知识进行总结和归纳也就越轻松.而想要提高总结归纳的能力,首先要多阅读,多积累素材,扩大自己的知识面,多和别人讨论,多思辨,从而见多识广.学习的开始阶段,可以不急于总结归纳,不急于下判断,做结论,而应该保留部分知识的不确定性,保持对知识的开放状态.这种感觉,对于想速成的人来说,很难体会.
2024-02-24 12:06:03 25
原创 SelectNodes的使用
SelectNodes(“node”) 从当前子节点中查找节点SelectNodes(“/node”) 从根节点的子节点中查找节点SelectNodes(“//node”) 从任意位置上查找名为node的节点SelectNodes(“.”) 选择当前节点SelectNodes(“…”) 选择当前节点父节点SelectNodes(“//node[1]”) 选择名为node的第一个节点
2024-02-22 15:56:37 279
原创 U盘重装系统
在需要安装系统的电脑上按F2键,进入老毛桃主菜单后,通过“↑↓”键选择“【1】启动Win10 X64PE(2G以上内存)”后回车确认,成功进入winpe。这里勾选复选框内后点击“是”(建议将“网卡驱动”和“USB驱动”这两个选项勾选,以免重启后无法使用网络和鼠标)程序写入待安装完毕后点击 “是” 重启电脑,同时要拔掉U盘以免再次进入老毛桃winpe界面了。因为系统管理员密码忘记,登记不了window系统,使用老毛桃制作U盘启动盘。启动老毛桃U盘启动装机工具,插入U盘,点击一键制作成USB启动盘。
2024-02-16 21:55:28 288
Ubuntu Linux实用学习教程.pdf
2009-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人