网络
文章平均质量分 68
Learning_zhang
这个作者很懒,什么都没留下…
展开
-
流量控制和拥塞控制
滑动窗口: 要保证正确的传输,要对已经发送的数据进行确认。如果每发送一个分组,等待数据的确认,然后再发送下一个分组,这样的效率太低。所以制定了滑动窗口。 对于发送方来说,落在滑动窗口中的数据均可进行发送,所在在某个时刻中,滑动窗口中的数据有两种状态,一是已经发送的,一是等待发送的数据。发送完数据要等待对方的确认,确认之后,滑动窗口才可以向后移动,如果到了超时时间或者对方请求重传就重新进行发送,原创 2017-05-01 23:13:27 · 500 阅读 · 0 评论 -
测试粘包现象
服务器 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main(int argc, char *argv[]) { int sockfd = 0;原创 2017-08-08 21:23:36 · 431 阅读 · 0 评论 -
select范例
/////////////select server//////////////////#include #include #include #include #include #include using namespace std; #include #include #include //struct timeval //{ // time_t tv_sec; 表示秒 /原创 2017-05-04 22:21:50 · 341 阅读 · 0 评论 -
select、poll
linux中的select,poll两种都在select.c中实现,两者的结构相似,基本原理也相似,且底层有使用相同的结构体。 select参数有文件描述符的最大数+1,三种监视的事件的文件描述符位数组,分别是读事件,写事件,异常事件,还有一个超时时间。 poll的参数有一个数组,数组元素是struct pollfd,其中包含了所要监视的文件描述符和所要监视的事件。还有一个文件描述符的个数和一原创 2017-07-02 23:26:43 · 286 阅读 · 0 评论 -
socket编程之listen
打开了三个客户端端与服务器端建立连接,一个客户端发起之后会有两个条目产生,在开始前的两个client建立连接时,产生的服务器端和客户端段的状态都是estblisted,但是直到第三个时,客户端的状态端是estbllished,服务器端的是sys_recv状态。 猜测在listen时已经发了三次握手中的前两次,但是第三此客户端给服务器端发送的ack可能需要accept来接收才能建立完全的连原创 2017-08-21 11:22:00 · 614 阅读 · 0 评论