lua 补全IP地址位数

–IP地址补全 172.0.0.1 —> 172.000.000.001 local ip = '172.0.0.1'; local aa = '.'; function mysplit(inputstr, sep) if sep == nil then ...

2019-03-30 14:47:12

阅读数 34

评论数 0

lua 创建文本,读取文本

创建文件夹 os.execute("md lxw") --写文件 local file = io.open("lxw.txt","w") file:write("happy") file:close() --读文件...

2019-03-30 14:39:41

阅读数 49

评论数 0

排序——归并排序

归并排序:得到一个排序数组,先把它们划分为一个个有序的序列,再把每个有序的序列再一起归并起来,着就是归并排序。 代码如下: void mergearray(int arr[], int start, int mid, int end, int tmp[]) { int i = ...

2018-09-12 14:51:30

阅读数 45

评论数 0

memcpy()函数,memmove()函数

memcpy()函数,memmove()函数的实现。

2018-09-07 14:31:22

阅读数 43

评论数 0

C++类型转换(static_cast,dynamic_cast ...)

标准C++中为了加强类型转换的可视性,引入了四种命名的强制类型转换操作符。 static_cast reinterpret_cast const_cast dynamic_cast 为了更好的理解C++中的类型转换,我们先讲讲我们在C语言中的转换。 #include&amp...

2018-08-31 00:23:34

阅读数 109

评论数 0

模拟实现:strlen,strcat,strchr,strcpy,strcat...

模拟实现的字符串处理函数: strlen,strcat,strncat,strchr,strrchr,strcpy,strncpy 1.strlen,求字符串的长度,不算‘/0’ size_t mystrlen(const char *string) { const char *...

2018-08-21 18:45:26

阅读数 38

评论数 0

sscanf,sprintf,fread,fwrite

sscanf 读取格式化的字符串中的数据 定义函数 int sscanf (const char *str,const char * format,........); sscanf与scanf类似,都是用于输入,子是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。 ...

2018-08-20 15:14:58

阅读数 54

评论数 0

ARP协议

ARP协议 ARP协议是是一个介于数据链路层和网络层之间的协议。 它工作在网络层。 ARP协议建立了主机IP地址和MAC地址的映射关系 在网络通信时,源主机的应用程序应该知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址。 数据包肯定先被网卡接收到再去处理上层协议的,如果接受到的...

2018-08-20 14:21:00

阅读数 25

评论数 0

ICMP协议(ping命令,traceroute命令)

ICMP协议 ICMP协议是一个网络层协议。 我们在建立好网络通信的时候,肯定要进行网络是否通畅。我们知道IP协议并不提供可靠的传输,无法通过IP协议来反馈我们的网络是否通畅,TCP又是传输层的协议,并不能在这里使用,所以提出了ICMP协议。专门为了测试我们网络是否通畅。 ICMP功能 1...

2018-08-19 23:52:52

阅读数 976

评论数 0

网络层 IP协议、NAT技术

网络层:最主要的功能就是:在复杂的网络环境中确定一个合适的路径。 如何在网络层中准确的找到合适的路径发送数据呢? 这就需要我们的IP协议了。 IP协议基本概念: 主机:配有IP地址,但是不能进行路由控制的设备 路由器:即配有IP地址,又能进行路由控制 节点:主机和路由器的统称 我们看...

2018-08-19 23:00:19

阅读数 57

评论数 0

I/O多路转接之select

系统提供select函数来实现多路复用输出/输入模型: 系统调用select是为了使一个程序监视多个文件描述符的状态变化,程序会停在select这里等待,直到被监视的文件描述符有一个或者多个文件描述符发生了状态改变。 #include<sys/select.h&a...

2018-08-19 00:48:17

阅读数 35

评论数 0

TCP 延时应答/捎带应答

延时应答 我们知道TCP中,有确认应答机制以保证数据的可靠传输。但是是不是接受方接受到数据就立即返回ACK应答呢?如果是这样,这时候的缓冲区中接收区的数据还没能够处理,缓存区的剩余大小就是窗口大小。 但是如果我们延迟一会,等待缓存区中数据被处理,那么剩余的缓存区就会大些——这就是延时应答。 ...

2018-08-18 15:05:16

阅读数 569

评论数 0

TCP 流量控制/拥塞控制

流量控制——TCP支持根据接收端的处理能力,来决定发送端的发送速度。 我们知道TCP在接受方有接受缓存区,如果接受缓存区接受满了,会造成什么呢? 流量控制:如果接收端的接受缓存区满了,就接受不了数据了,而发送方还一直的发送数据段给接受方。接受不了就会导致丢包的情况,而丢包,就会导致丢包重...

2018-08-18 14:44:45

阅读数 54

评论数 0

malloc/calloc/realloc动态内存分配

malloc、calloc、realloc ,都是动态分配内存的函数,如下图是这三个函数的功能:

2018-08-17 17:55:59

阅读数 40

评论数 0

网络编程面向字节流—粘包问题

粘包:通俗的讲,在我们买包子的时候,我们可以看到蒸笼中,每个包子之间都隔开了空间,或者是用纸把每个包子都隔离开了,不让它们粘在一起。如果让两个包子之间无缝隙的在粘在一起。当你买包子时,老板把一个包子装起来,另个一个包子的皮就会粘到你的这个包子来。两个包子都多了点,另一个少了点。包子不完整了,外观不...

2018-08-17 16:40:17

阅读数 111

评论数 0

TCP 滑动窗口/快速重传机制

我们知道TCP有确认应答机制,对每一个发送的数据段,都要给一个ACK确认应答,收到ACK后再发送ACK中携带的序列号。这样保证了可靠传输。但是有时数据往返的时间比较长时,性能就比较差了。 既然这样一发一收的方式性能较低,那么我们一次发送多条数据,就可以大大提升性能。 TCP中提出了滑动窗口...

2018-08-17 12:11:19

阅读数 1429

评论数 1

栈和队列面试题

1.使用两个栈,实现一个队列。 栈:先进后出,且只能从栈顶pop出数据。 队列:先进先出,对头pop数据,队尾push数据。 代码如下: #include<stack> template&am...

2018-08-16 16:57:18

阅读数 149

评论数 0

TCP 确认应答/超时重传机制

我们知道TCP协议是传输层协议,它是可靠传输,有连接的传输协议。那么它是依靠什么才能有这个功能的呢? 确认应答机制(ACK) TCP将每个字节的数据都进行了编号,即为序列号: 每一个ACK都带有对应的确认序列号,意思是告诉发送者,我们已经收到了哪些数据,下一吃发送数据应该从哪里开始。...

2018-08-16 15:01:27

阅读数 1414

评论数 0

TCP/UDP 协议格式

UDP协议格式: 16位UDP长度,表示整个数据报(UDP首部+UDP数据)的最大长度 即:一个UDP能传输的数据最大长度是64K 如果我们要传输的数据大于64K,那么我们需要在应用层手动分包,多次发送,并在接收端手动拼装 UDP没有发送缓冲区,应用层发送数据,由内核传给网络层协议进行...

2018-08-12 12:16:16

阅读数 221

评论数 0

HTTP协议格式

HTTP请求格式: 1.首行:【放法】+【url】+【版本号】 2.header:若干行的键值对,每一行是一个键值对,键值对的键和值之间使用“:”来分割。header部分一个有几个键值对,这个是不能直接确定的,而是通过header最后的有一个空行作为header的接受标记 3.空行:只包含一...

2018-08-11 22:14:53

阅读数 57

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭