排序:
默认
按更新时间
按访问量

TCP中的四个计时器

重传计时器(Retransmission Timer) 当TCP发送报文后,就对此报文设置一个重传计时器,此时有两种情况 在规定时间内成功收到对方的确认,就撤销该报文的重传定时器 到了规定时间仍然未收到对方的确认,则认为该报文丢失,重新传送该报文,并将计时器时间复位 坚持计时器(Pers...

2018-07-30 12:05:13

阅读数:99

评论数:2

合并两个排序的链表

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路 示例: 输入:1->2->4, 1->3->4 输出:1->1-...

2018-07-30 11:12:52

阅读数:22

评论数:0

重建二叉树

题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思路 二叉树的前序遍历顺序是根节点、...

2018-07-30 09:54:21

阅读数:33

评论数:0

Cookie和Session机制

会话跟踪 会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。因为Http是无连接的,服务器并不能通过连接状态来确定用户信息,所以引入了Cookie和Session机制来确定用户,Cookie在客户端保存用户信息,Session在服务器保存用户信息。 什么是Cookie和Sessio...

2018-07-28 11:01:11

阅读数:23

评论数:0

TCP提高性能的举措

滑动窗口 对于每一个发送的数据段,都要给一个ACK确认应答,收到ACK后才可以发送下一个数据段,这样未免效率太差,所以TCP中引入了滑动窗口机制。 如上图所示,发送前4000字节数据的时候不需要收到任何回应,当收到一个ack后,滑动窗口就往后移动一个报文的长度,但是窗口大小是不变的 ...

2018-07-06 01:31:56

阅读数:59

评论数:0

大量TIME_WAIT的解决方案

TIME_WAIT状态是主动断开连接的一方产生的,客户端处于TIME_WAIT状态的话问题不大,如果服务器产生大量TIME_WAIT状态的连接,就会大大降低服务器的响应速度等性能问题,根本原因是一些端口号以及socket地址被占用而得不到释放。 方法一 C/C++中提供了一个接口,如果服务器重...

2018-07-05 14:46:26

阅读数:38

评论数:0

TCP保证可靠性的举措

连接管理 TCP是面向连接的,三次握手和四次挥手都是为了保证本次数据传送的可靠性,这里不做赘述 如果想了解具体的三次握手和四次挥手,请戳这里->TCP三次握手四次挥手详解 序号 保证数据段的按序到达 TCP是面向字节流的,它对每一个字节都进...

2018-07-05 14:30:51

阅读数:40

评论数:0

TCP的三次握手与四次挥手详解

介绍TCP协议 先来了解下TCP协议的报头信息

2018-07-01 21:18:36

阅读数:40

评论数:0

详解C/C++中的函数栈帧

函数栈帧就是进程在调用函数时为其在栈空间上开辟了一段空间,执行过程调用,一个过程调用包括将数据(以过程参数和返回值的形式)和控制从代码的一部分传递到另一部分。另外,它还必须在进入时为过程的局部变量分配空间,并在退出时释放这些空间。 一个栈帧构建好后,会有两个寄存器标识该栈帧,即基址寄存器ebp(...

2018-07-01 19:32:30

阅读数:36

评论数:0

Linux--vim下打开多文件、多窗口

打开多个文件: 一、vim还没有启动的时候: 1.在终端里输入 vim file1 file2 … filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :e file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。 3.同时显示多个文件...

2018-06-24 01:07:19

阅读数:28

评论数:0

网络编程---服务器编程中CGI模式的运行机制

CGI概括: 定义 通用网关接口(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序 进行“交谈”的一种工具,其程序须运行在网络服务器上。 功能 绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的...

2018-06-16 17:46:41

阅读数:88

评论数:0

网络编程--IO多路复用之select,poll和epoll详解

什么是socket?什么是I/O操作? 我们都知道unix(Linux)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket,还是FIFO、管道、终端,对我们来说,一切都是文件,一切都是流。在信息 交换的过程中,我们都是对这些流进行数据的收发操作,简称为I/O操作(in...

2018-06-16 17:04:42

阅读数:87

评论数:0

网络编程---select、poll、epoll服务器编写

select服务器 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include &a...

2018-06-16 16:08:24

阅读数:57

评论数:0

网络编程---多线程/多进程版TCP套接字编程

TCP\IP协议我之后会放在一起进行解释,因为这块较UDP来说比较复杂,我需要分成两三篇博客来分几个部分详谈,如TCP中的三次握手,四次回收,超时重传等,IP协议的底层通信,路由,MAC帧等,都会讲到,我尽量总结点详细一点,以免遗漏。这里我就只放上TCP套接字编程的代码,接口和一些注意的点在之前的...

2018-05-28 15:36:05

阅读数:102

评论数:1

编程题---分隔链表

题目介绍 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例 输入:head = 1 -> 4 -> 3 -&...

2018-05-27 12:33:53

阅读数:84

评论数:0

编程题---反转从位置 m 到 n 的链表

解题思路 代码实现(以上图来解释) /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct...

2018-05-26 14:13:05

阅读数:267

评论数:0

网络编程---UDP协议解析以及UDP套接字编程实现

认识UDP协议   UDP协议全称是用户数据报协议[1],在网络中它与TCP协议一样用于处理数据包,但不同于TCP的是,UDP是一种无连接的协议。。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无...

2018-05-26 13:15:21

阅读数:89

评论数:0

网络编程---TCP/UDP套接字编程原理

本篇介绍的是Linux下的网络编程,故有些接口是不适用于Windows的,但是具体概念和实现方法是大体一致的 介绍 网络编程套接字(socket)也是进程间通信的一种方式,但是不同于管道,消息队列,共享内存的是socket不仅可以实现本机内不同进程间的通信,也可以实现网络中两台不同主机间的进...

2018-05-24 20:17:13

阅读数:98

评论数:0

atexit函数和on_exit函数

atexit函数(设置程序正常结束前调用的函数) 相关函数 _exit,exit,on_exit 函数原型 #include<stdlib.h> int atexit (void(*function)(void)); 返回值 如果执行成功则...

2018-05-22 16:51:52

阅读数:117

评论数:0

Linux---进程终止和进程等待

进程终止 进程终止场景 代码运行正常,结果正确 代码运行完毕,运行不正确 代码异常终止 Linux下,我们可以通过echo $?命令查看进程退出状态,命令的实际作用是查看离它最近的一条命令的退出码 #include <stdio.h&amp...

2018-05-22 16:42:59

阅读数:39

评论数:0

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