摘要: Human *phuman = new Men; phuman->funcmen();//虽然new子类对象,但是你是父类指针无法调用子类成员函数 父类指针可以指向子类,发过来不行 在父类中加了虚函数后 Human *phuman = new Men; phuman->eat(); //此时调用的是 阅读全文
posted @ 2021-09-21 19:45 wsq1219 阅读(135) 评论(0) 推荐(0) 编辑
摘要: I/O设备 用户态,内核态(内核缓冲区) read函数 阻塞和非阻塞描述的是用户线程调用内核IO操作时的用户线程的状态:阻塞表示在调用内核IO时,用户线程会挂起,直到调用返回到用户空间才继续执行;非阻塞表示在调用内核IO时立即返回一个状态码或者数据,用户线程一直处于忙的状态 阻塞:当我们调用read 阅读全文
posted @ 2021-09-17 00:02 wsq1219 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 用netstat来查看网路状态 客户端连接进来后 断开服务器端,服务器端处于FIN_WAIT2 断开服务器端和客户端,查看状态 服务器端处于TIME_WAIT,此时如果再去启动服务端,会出现bind错误 端口复用由来:是在服务器端主动结束,想立刻运行能够重新绑定上 设置在bind之前 setsock 阅读全文
posted @ 2021-09-16 20:35 wsq1219 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 半关闭状态 我们需要的是一种关闭TCP连接其中一半的方法。也就是说,我们想给服务器发送一个FIN,告诉他我们已经完成了数据发送,但是仍然保持套接字描述符打开以便读取, 阅读全文
posted @ 2021-09-12 23:50 wsq1219 阅读(8) 评论(0) 推荐(0) 编辑
摘要: int bind(int sock, struct sockaddr *addr, socklen_t addrlen); //Linux int bind(SOCKET sock, const struct sockaddr *addr, int addrlen); //Windows bind函 阅读全文
posted @ 2021-09-12 18:50 wsq1219 阅读(44) 评论(0) 推荐(0) 编辑
摘要: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> // 打开一个已经存在的文件 int open(const char *pathname, int flags); 参数: - pathname:要打开的文件路径 - fl 阅读全文
posted @ 2021-09-12 02:33 wsq1219 阅读(27) 评论(0) 推荐(0) 编辑
摘要: ipconfig 点分十进制字符串和用网络字节序整数表示的IPV4地址的转换 #include <arpa/inet.h> // p:点分十进制的IP字符串,n:表示network,网络字节序的整数 int inet_pton(int af, const char *src, void *dst); 阅读全文
posted @ 2021-09-11 18:25 wsq1219 阅读(1250) 评论(0) 推荐(0) 编辑
摘要: 安装nginx 搭建web服务器 pcre库 :函数库,支持解析正则表达式; zlib库: 压缩加压缩功能 openssl库:ssl功能相关的库,用于网站加密 nginx源码下载 mainline version 主线版本 更新快 stable version 稳定版本 经过较长时间的测试 Lega 阅读全文
posted @ 2021-09-11 10:24 wsq1219 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-08-27 16:00 wsq1219 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 在linux下写一个可执行程序,然后进行反编译 查找main函数入口地址 找到start start函数准备好参数之后立即调用 libc_start_main libc_start_main做了些什么? 当可执行性程序中的所有段被加载到内存中后,PC指针就指向代码段起始地址,进而执行指令 查找一下这 阅读全文
posted @ 2021-08-22 22:27 wsq1219 阅读(84) 评论(0) 推荐(0) 编辑