摘要: //标准库的string类提供了三个成员函数来从一个string得到c类型的字符数组 //主要介绍c_str //c_str():生成一个const char*指针,指向以空字符终止的数组。 //这个数组应该是string类内部的数组 #include <iostream> //需要包含cstrin 阅读全文
posted @ 2022-03-23 22:43 豪崽_ZH 阅读(198) 评论(0) 推荐(0)
摘要: 1.C++网络编程 - Boost::asio异步网络编程 - boost库源码编译安装 https://blog.csdn.net/QIANGWEIYUAN/article/details/88792874 2.C++ muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装 阅读全文
posted @ 2022-03-23 21:47 豪崽_ZH 阅读(131) 评论(0) 推荐(0)
摘要: //后序补充 阅读全文
posted @ 2022-03-23 16:57 豪崽_ZH 阅读(14) 评论(0) 推荐(0)
摘要: 简介 最近VScode发布了远程编程与调试的插件Remote Development,使用这个插件可以在很多情况下代替vim直接远程修改与调试服务器上的代码,同时具备代码高亮与补全功能,就和在本地使用VScode一样。终于不用在服务器端翻来覆去的配置vim插件了。 配置的过程很简单,本文介绍如何通过 阅读全文
posted @ 2022-03-23 16:04 豪崽_ZH 阅读(147) 评论(0) 推荐(0)
摘要: 一、为什么引入心跳包 常规客户端关闭,服务器端能感知到; 有一种特殊情况,连接断开c/s都感知不到: 拔掉c/s程序的网线; "拔掉网线导致服务器感知不到客户端断开",这个事实,大家一定要知道;那为了应对拔网线,导致不知道对方是否断开了tcp连接这种事,这就是我们引入心跳包机制的原因;超时没有发送来 阅读全文
posted @ 2022-03-21 10:54 豪崽_ZH 阅读(311) 评论(0) 推荐(0)
摘要: "遇到程序崩溃问题,所以需要借助gdb调试来找到崩溃行"; 好在:我们的错误能够重现[必现的错误,是很好找的]; 最怕的就是偶尔出现的bug;有的时候运行三个小时就出现,有的时候运行两天也不出现; a)编译时g++ 要带这个 -g选项;make文件。 b)su进入root权限,然后再输入gdb ng 阅读全文
posted @ 2022-03-17 11:01 豪崽_ZH 阅读(125) 评论(0) 推荐(0)
摘要: 一、理解socket可写的概念 每一个tcp连接(socket),都会有一个接收缓冲区 和 一个发送缓冲;发送缓冲区缺省大小一般10几k, 接收缓冲区大概几十k,setsocketopt()来设置;"send(),write()发送数据时", 实际上这两个函数是把数据放到了发送缓冲区,之后这两个函数 阅读全文
posted @ 2022-03-17 10:55 豪崽_ZH 阅读(115) 评论(0) 推荐(0)
摘要: 一、框架 // master process ./nginx // worker process //(i)ngx_master_process_cycle() //创建子进程等一系列动作 //(i) ngx_setproctitle() //设置进程标题 //(i) ngx_start_worke 阅读全文
posted @ 2022-03-15 16:44 豪崽_ZH 阅读(247) 评论(0) 推荐(0)
摘要: const int abc = 12;//abc是常量不能改变abc的值 char *p 和 const 混用 char str[] = "q-wertyuiop"; char* p; p = str; *p = 'Y';//*p除非在定义中,否则就代表p所指向的内存地址。(*p在=的左边) p++ 阅读全文
posted @ 2022-03-13 13:55 豪崽_ZH 阅读(301) 评论(0) 推荐(0)
摘要: 指针: 引用: 区别: 1.首先,引用不可以为空,但指针可以为空。!故定义一个引用的时候,必须初始化。因此如果你有一个变量是用于指向另一个对象,但是它可能为空,这时你应该使用指针;如果变量总是指向一个对象,i.e.,你的设计不允许变量为空,这时你应该使用引用。 2.引用不可以改变指向,对一个对象"至 阅读全文
posted @ 2022-03-13 13:23 豪崽_ZH 阅读(156) 评论(0) 推荐(0)