自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

转载 TCP可靠传输及流量控制系列六:TCP连接中的TIME_WAIT状态

TCP连接中的TIME_WAIT状态一、TIME_WAIT状态的必要性 上述四次握手描述的是客户段主动关闭,服务器被动关闭的流程,其一般过程如下:1、 客户端发送FIN报文段,进入FIN_WAIT_1状态。2、 服务器端收到FIN报文段,发送ACK表示确认,进

2011-09-13 10:07:57 889

转载 TCP可靠传输及流量控制系列五:TCP流量控制基本算法

TCP流量控制基本算法一、交互式数据流Nagle算法在一个Rlogin连接上客户一般每次发送一个字节到服务器,这就产生了一些41字节长的分组:20字节的IP首部、20字节的TCP首部和1个字节的数据。在局域网上这些小分组通常不会引起麻烦,因为局域网一般不会出现拥塞。但在广

2011-09-13 10:06:13 6874

转载 TCP可靠传输及流量控制系列一:FREEBSD中TCP定时器的基石

FREEBSD中TCP定时器的基石TCP连接中的七个定时器:连接建立定时器、重传定时器、延迟ACK定时器、持续定时器、保活定时器、FIN_WAIT_2定时器、TIME_WAIT定时器都是由两个定时器函数来实现的,一个函数没200ms调用一次(快速定时器);另一个函数每500m

2011-09-13 10:05:24 823

转载 TCP可靠传输及流量控制系列二:TCP连接中的七个定时器

TCP连接中的七个定时器TCP为每条连接建立了七个定时器。按照它们在一条连接生存期内出现的次序,简要介绍如下:1) “连接建立”定时器在发送SYN报文段建立一条新连接时启动。如果在75秒内没收到响应,连接建立将终止。2) “重传”定时器在TCP发送数据时设定。如果定时

2011-09-13 10:04:48 1188

转载 TCP可靠传输及流量控制系列三:重传时间RTO计算

RTO的计算1、数据结构TCP中用于计算重传时间RTO的数据结构定义在tcp协议控制块中。struct tcpcb {......./*动态计算的数据包发送确认的往返时间*/short t_rtt; /* round trip time *//*标记设

2011-09-13 10:04:09 1351

原创 LWIP之SOCKET的实现

Lwip协议栈的实现目的,无非是要上层用来实现app的socket编程。好,我们就从socket开始。为了兼容性,lwip的socket应该也是提供标准的socket接口函数,恩,没错,在src\include\lwip\socket.h文件中可以看到下面的宏定义:#if L

2011-09-13 10:02:53 1448

转载 LWIP之API_MSG结构及其实现

从上面一篇的socket实现来看,如果要评起到最关键作用的一个结构体,那么struct api_msg当之无愧。先看下它的定义:/** This struct contains a function to execute in another thread context a

2011-09-13 10:02:01 1176

转载 LWIP之TCP层发送相关

现在我们正式开始进入对TCP的研究,它属于传输层协议,它为应用程序提供了可靠的字节流服务。在LWIP中基本的TCP处理过程被分割为六个功能函数的实现:tcp_input(), tcp_process(), tcp_receive()【与TCP输入有关】, tcp_write(),

2011-09-13 10:01:26 988

转载 LWIP之TCP层接收相关

既然定了这么个标题,当然是要从socket的recv来讲了。这里主要涉及到lwip_recvfrom这个函数。它的大致过程是,先通过netconn_recv(sock->conn);从netconn的recvmbox中收取数据,在这里有个do_recv的调用,而do_recv又调

2011-09-13 10:00:46 936

转载 LWIP之IP层实现

这一部分的实现都是在ip.c文件中【src\cor\ipv4】,可以看到在这个文件中主要实现了3个函数,ip_input;ip_route;ip_output以及ip_output_if。下面分别来介绍它们。这些函数可以分成两大类:接收和发送。下面就先从发送开始,首先要说

2011-09-13 10:00:08 817

转载 LWIP的底层结构(物理层)

我们前面讲到说是ip层的发送和接收都是直接调用了底层,也就是设备驱动层的函数实现,在这里暂且称之为物理层吧。下面就接着ip层的讲,不过由于这里的设备驱动各平台的都不一样,为此,我们选择ARM9_STR91X_IAR这个Demo作为实例,该平台的网络设备驱动在\library\so

2011-09-13 09:59:24 677

转载 LWIP之SOCKET编程

前几天看了关于LWIP协议栈的实现和FREERTOS的基本原理。今天开始调试LWIP的socket通信,是基于freertos系统的ARM9_STR91X_IAR开发板。这是个现成的实例,由于lwip已经由freertos移植好了,而调试的目的就是实现在lwip上的socke

2011-09-13 09:58:49 2880

原创 TCP滑动窗口协议

TCP滑动窗口一、数据结构1、发送窗口struct tcpcb {....../* send sequence variables *//*最早的未确认过的序号*/tcp_seq snd_una; /* send unacknowledged *//*下一

2011-09-13 09:57:56 1728

原创 转载: 堆栈 堆与栈的区别

非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,

2011-06-17 10:19:00 359

原创 Winsock笔记

Socket(套接字)◆先看定义:typedef unsigned int u_int;typedef u_int SOCKET;◆Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。◆Socket有五种不同的类型:1、流式套接字(stream socket)定义:#de

2010-08-02 10:04:00 257

USB实时监控程序源码

实现USB接口的实时监控,当有新的设备接如时自动获取移动设备的相关信息,并显示出来

2010-11-15

C+数据结构.rar

是以本学习数据结构难得的好书! 大家都来看看啊!

2010-04-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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