I/O复用3个小实例+将signal转化为IO事件 I/O复用3个小实例: nonblock connect():利用error:EINPROGRESS 非阻塞connect() man手册connect() The socket is nonblocking and the connection cannot be completed immediately. (UNIX domain sockets failed with EAG 2020-11-08 计算机网络 socket
有限状态机实例:服务端实现简单的HTTP请求的读取和分析 有限状态机实例:服务端实现HTTP请求的读取和分析 TCP/IP在包的头部给出头部的长度字段,但HTTP协议未提供头部长度字段,(头部长度变化大),头部结束时遇到空行,\r\n 如果一次读操作没有读入HTTP请求的整个头部,即没有遇到空行,需要等待第二次读入, 在每一次完成读操作,要分析新读入的数据是否有空行,(\r\n前面有请求头和头部字段),,所以在寻找\r\n的过程中可以顺便解析htt 2020-10-30 计算机网络
sql必知必会知识点总结(长 sql学习1.SELECT 检索单个列SELECT prod_name FROM Products; 返回未排序数据 返回所有行,没有过滤 检索多个列,列名之间加上,就行,SELECT prod_id,prod_name FROM Products; 检索所有列,SELECT * FROM Products;,可以看到自己不知道名字的列 2. 排序检索数据 排序数据: SELECT p 2020-10-09 数据库(入门
IPv4协议详解 IPv4 为上层协议提供无连接,无状态,不可靠的服务 无状态:IP通信双方不同步传输数据的状态信息,所以IP数据报的发送,传输和接收都是相互独立的,没有上下文关系 (IP模块无法处理IP数据报的乱序和重复,IP模块只要接收到完整的IP数据报就会发给上层协议模块) 无连接:IP通信双方都不长久的维持对方任何信息,(所以每次发送数据都要指出对方IP地址) 不可靠: IP协议不能保证IP数据报准确 2020-10-04 计算机网络 网络协议
Win下控制台简单贪吃蛇实现 贪吃蛇 ???算是对大一课设的交代>>>,代码抄过来的 vs2020下编译,仅使用Sleep()和system(“cls”),_kbhit(),等几个win api 结构: —— main.c global.c global.h 主要思路:2维数组每个点分别存墙(1),空地(0),蛇身体(2),食物点(3).然后遍历2维数组printf绘图 蛇身体长度通过int* body 2020-10-01 C++primer读书笔记
arp协议工作原理 测试网络:+————————+ +————————-+| 主机A | |主机B || IP:192.168.247.141 | |IP:192.168.247.142 || MAC:00:0c:29:2 2020-09-29 计算机网络
linux下在进程中加载执行纯2进制可执行文件bin 此博客来自他人,下面是自己的见解,因为正好用到相关内容 objdump对纯2进制文件(hello.bin)反汇编 objdump -m i386 -b binary -D hello.bin -m:指出反汇编目标架构 -b:文件格式 在进程中加载执行纯2进制可执行文件bin mmap把2进制文件映射到进程用户内存空间, 将程序控制权交给bin linux下用汇编通过中断调用api打印 2020-09-19 Linux学习
c语言提取tar包内容 tar文件:以一定方式将多个文件合并成tar文件,不对文件进行压缩,tar文件格式 很 简单,每个文件前面+512字节的header,并且将所有文件叠放在一起 header1–file1–header2–file2–header3–file3 解包就是读取文件头得到文件大小,然后读取出文件就行了 提取tar文件并存储123456789101112131415161718192021222324 2020-09-18 编写操作系统之路
Orange‘s chapter10缺少的elf.h文件定义 Orange’s操作系统源码chapter 10,缺少的elf.h文件以及get_kernel_map()函数 elf.h只用到elf_header和section_header,以及魔数 (写出部分定义就可以,剩下的没用) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 2020-09-15 编写操作系统之路
带有\n的printf被优化成puts 带有\n的printf被优化成putstest.c 1234567891011#include <stdio.h>int func(int a){ return 0;}int main(){ printf("Hello world\n"); return 0;} 编译成可重定位文件.o gcc -c t 2020-09-14 编译链接